把URL参数解析成一个对象

原创 stopMe 随笔 JavaScript 2492阅读 2014-08-21 18:25:07 举报

一道面试题:

问题:请编写一个JavaScript函数parseQueryString,它的用途是把URL参数解析为一个对象。
代码:var obj=parseQueryString(url);
      alert(obj.key0);

创建对象的三种形式:
一:
var Person=new Object();
Person.name="Sun";
Person.age=24;
二:
var Person=new Object();
Person["name"]="Sun";
Person["age"]=24;
三:
对象字面量表达式
var Person={
name: "Sun",
age: 24
}

补充:
1、在这个例子中,比较适合使用第二种形式,向obj中添加元素
2、split("&") , 如果url只有一个参数的时候,没有“&”的时候,也不会报错,只会返回array[0]

/核心代码/
[code]function parseQueryString(url)
{
var obj={};
var keyvalue=[];
var key="",value="";
var paraString=url.substring(url.indexOf("?")+1,url.length).split("&");
for(var i in paraString)
{
keyvalue=paraString[i].split("=");
key=keyvalue[0];
value=keyvalue[1];
obj[key]=value;
}
return obj;
}[/code]

可供演示的源码,欢迎大家的指正:
代码片段 1

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复