思路: 通过string中的replace来替换掉location.search中$和:拼接成obj的格式然后通过eval来转换一下
刚开始想的是用JSON.parse然后发现报错,看了一下,需要将key值在拼接成json的格式"key":value这种方式,觉得还是用eval更简单一点.
没什么好说的,直接上代码
var urlToObj= function(str){
'use strict'
var _search = location.search.substr(1)
var _objContent = _search.replace(/&/g,',').replace(/=/g,':')
var _json = eval('({'+_objContent+'})')
return _json
}
urlToObj()
缺点:url中的参数只能是不重名的, 比如:a=1&a=2&a=3,只能取a=3,返回{a:3}