<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>将URL的参数解析为一个对象</title>
</head> <body>
<script type="text/javascript">
function queryURL(url){
var arr1 = url.split("?");
var params = arr1[1].split("&");
var obj = {};//声明对象
for(var i=0;i<params.length;i++){
var param = params[i].split("=");
obj[param[0]] = param[1];//为对象赋值
} return obj;
}
var a = queryURL("http://www.baidu.com?name=javascript&keyword=word");
alert(a.name);
</script>
</body>
</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