1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>將URL的參數解析為一個對象</title> 6 </head> 7 8 <body> 9 <script type="text/javascript"> 10 function queryURL(url){ 11 var arr1 = url.split("?"); 12 var params = arr1[1].split("&"); 13 var obj = {};//聲明對象 14 for(var i=0;i<params.length;i++){ 15 var param = params[i].split("="); 16 obj[param[0]] = param[1];//為對象賦值 17 } 18 19 return obj; 20 } 21 var a = queryURL("http://www.baidu.com?name=javascript&keyword=word"); 22 alert(a.name); 23 </script> 24 </body> 25 </html>
為對象賦值:
//nameX = param[0]; 不能用這種方式, //valueX = param[1]; //obj.nameX = valueX; 通常情況下這個可以定義對象的屬性,但是現在屬性名稱是不定的,所以不能用這種方式 //var obj = {name:param[0],value:param[1]} //不能用這種方法,這種方法是把值付給name、value,每次循環就替換,最后object.name = key2;object.value=2;而我們要的是key2 = 2這樣的類型; //obj.param[0] = param[1] //也不能用這種方式,會提示myO為空或不是對象 //obj.name = "張三"; 這樣的就可以,這種是直接量語法 //alert(obj["name"]);
源碼下載:http://pan.baidu.com/s/1mg2XIVu