纯手工敲打,详细的分步获取!!!^_^
例题1:var url="http://baidu.com/item.html?a=1&b=2&c=&d=xxx&e";
目的:就是把这个字符串从?后边的数按照key:value的形式放在对象中 如:{a: "1", b: "2", c: "", d: "xxx", e: undefined}
// 构造函数 function getObj(url){ var obj={} // 这点特别需要注意的,用正则表达式,先判断是否有?存在 if(/\?/.test(url)){ //1、获取问号的索引 var index=url.indexOf(‘?‘) //2、根据索引分分割后?后边的字符串 var Astr=url.substr(index+1)//a=1&b=2&c=&d=xxx&e //3、以&分割字符串转成数组 var Aarr=Astr.split("&")//["a=1", "b=2", "c=", "d=xxx", "e"] //4、循环这个数组 for(var i=0;i<Aarr.length;i++){ var Cstr=Aarr[i]// a=1,b=2,c=,d=xxx //5、分割循环后的字符 例:a=1 var Barr=Cstr.split("=") //["a","1"] //6、将数组Barr[0],Barr[1] 分别赋值给数组的键和值 obj[Barr[0]]=Barr[1] } } // 7、返回这个对象 return obj } console.log(getObj(url))
未完待续……