面试题之 query转为obj

要注意处理编码后的字串  对于a=123要得到number形的值

function parseQueryString(url) {
var obj = {};
var query = url.search.slice(1).split('&'); //截取问号之后的部分
query.forEach(function(item){
//若str没有= 返回 [str]
//缺失任何一方 则是空字符串
var key = item.split('=')[0];
var value = decodeURIComponent(item.split('=')[1]);
//对于数值形字符串要转为数字
value = !isNaN(value) ? +value : value;
obj[key] = value;
});
return obj;
}
var link = document.createElement('a');
link.href = "http://www.example.com/some/path?name=123&w=blog%3Acart55free99%20微软%20bootstrap#anchor";
var obj = parseQueryString(link);
console.log(obj);

没有直接创建localtion对象的方法  可以创建Anchor的方式来创建一个localtion对象

var link = document.createElement('a');
link.href = "http://www.example.com/some/path?name=123&w=blog%3Acart55free99%20微软%20bootstrap#anchor";
上一篇:[优先队列]HDOJ5360 Hiking


下一篇:Mysql笔记【2】-数据表的基本操作