変更前: コードをコピー コードは次のとおりです: <br>var url="www.taabao.com?key0=a&key1=b&key2=c"; <br>function parseQueryString(url){ <br>var str=url.split("?" )[1 ], <br>items=str.split("&"); <br>var arr,name,value; <br>for(var i = 0, l = items.length; i arr=items[i].split("="); <br>name= arr[0]; <br>this[name]=value; <br> } <br>} <br>var obj=new parseQueryString(url); <br>alert(obj.key1) <br><br><br> </div>変更後: <br><br><div class="codetitle"><span><a style="CURSOR: pointer" data="2706" class="copybut" id="copybut2706" onclick="doCopy('code2706')">コードをコピーします<u></u></a> コードは次のとおりです:</span></div> <div class="codebody" id="code2706"><script type="text/javascript" > <br>var url="www.taobao.com?key0=a&key1=b&key2=c"; <br>var pQString={ <br>createNew:function(url){ <br>var str=url.split ("?")[ 1], <br>items=str.split("&"); <br>var arr,name,value; <br>for(var i = 0, l = items.length; i < l ) { <BR>arr=items[i].split("="); <BR>value= arr[1]; ]=値; <BR>} <BR>} <BR>var obj=new pQString.createNew(url); <BR>alert(obj.key1) <BR> このメソッドをより厳密かつ効率的に書き直してくれた草の根プログラマーに感謝します。後で詳しく学びます。 ! ! コードをコピー コードは次のとおりです: </a>function getQueryString(url) { </span>if(url) { </div>url=url.substr(url.indexOf("?") 1); //文字列インターセプト、以前の分割よりも優れています() このメソッドは非常に効率的です <div class="codebody" id="code80679">} <br>var result = {}, //名前と値を保存するオブジェクトを作成します <br>queryString =url || location.search.substring(1), //location . search は、疑問符 (?) で始まる URL (クエリ部分) を設定または返します。 <br>re = /([^&=] )=([^&]*)/g, //通常は、特に <br>m を使用しません <br>while (m = re.exec(queryString); ) { //exec() 正規表現マッチング、具体的には <br>result[decodeURIComponent(m[1])] = decodeURIComponent(m[2]) //decodeURIComponent() を使用して URI をエンコードします <br>} <br>return result; <br>} <br>// デモ <br>var myParam = getQueryString("www.taobao.com?key0=a&key1=b&key2=c"); <br> 注: 1、substr() および substring(start,stop) は、添字間の指定された 2 つの文字の間の文字列を抽出します。 重要:slice() メソッドや substr() メソッドとは異なり、substring() は負の引数を受け入れません。 http://www.jb51.net/w3school/js/jsref_substring.htm 2. location.search.substring(1) を参照。location.search は設定されているか、質問から返されます。マーク(?) 開始URL(クエリ部分)。 http://www.jb51.net/w3school/htmldom/prop_loc_search.htm 3. exec() メソッドは、文字列内の正規表現の一致を取得するために使用されます。強力すぎて使い方がまだわかりません 参考http://www.jb51.net/w3school/js/jsref_exec_regexp.htm 4. decodeURIComponent() を使用します。エンコードされた URI デコードをエンコードします。 http://www.jb51.net/w3school/js/jsref_exec_regexp.htmを参照してください。