/* 「JavaScript の決定版ガイド」では、通常のパラメータを使用せずに、URL パラメータを取得するためのより簡潔な方法を紹介しています。ループを使用した式。オブジェクトを一度に返す利点は、この関数を 1 回呼び出すだけで、パラメータと値のペアをオブジェクトに格納できるため、他のパラメータの値を取得するためにこの関数を再度呼び出す必要がないことです。将来的には、オブジェクトの属性を取得するだけで済みます。
* var args = getArgs( ); // URL からパラメータを解析します
* var q = args.q "" // パラメータが定義されている場合はその値を使用し、それ以外の場合はデフォルト値を与えます
* var n = args.n ? parseInt(args.n) : 10;
*/
var getArgs = function ()
{
var args = new Object( ); 🎜 >var query = window.location.search.substring(1); // http://www.snowpeak.org/testjs.htm?a1=v1&a2=&a3=v3#anchor から取得したクエリ文字列を取得します。 a1=v1&a2=&a3=v3。
varpairs = query.split("&"); // アンパサンドで配列に区切ります
for(var i = 0; i
var pos =pairs [ i].indexOf('='); // "name=value" ペアを検索します
if (pos == -1) continue; // ペアがない場合はループを抜けて続行します。次のペアの
var argname =pairs[i].substring(0,pos); // パラメータ名を取得します
var value =pairs[i].substring(pos 1); // パラメータ値を取得します>value = decodeURIComponent(value) ; // 必要に応じてデコードします
args[argname] = value; // オブジェクトの属性として保存します
}
return args; >}
その優れた利点は、プログラムは一度抽出操作を実行するだけで済み、今後パラメータ値を繰り返し取得する場合にプログラムを再度実行する必要がないことです。この方法の方が URL パラメータを取得しやすく、理解しやすいです。
以下は、以前に公開した「ループなし」ですが「やや複雑すぎる」バージョンです: