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