想了一种新的转换url参数的方式

216 阅读1分钟

思路: 通过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}