取url参数的方法
经过大神指点后又将代码整理了一下,如下:
这个方法的核心思想是:把url里的参数转换成json对象
function uid(string) { //判断有没有参数,没有就返回空 if(string.indexOf('=') < 0) { return {}; } var params = string.substr(string.indexOf('?') + 1, string.length); //页面有跳转的时候,url会出现#号,可以使用html锚点调试,清除#号以及后面的锚点,保证获取的参数是正确的 if(params.indexOf('#') > 0){ params = params.substr(0, params.indexOf("#")); } var obj = {}, //定义空对象,json对象格式,用于存储转换后的参数对象 pairs = params.split('&'), //把参数分割成键值对形式的数组 d = decodeURIComponent; //d decodeURIComponent 方法的别名,下面有调用 $.each(pairs, function(i, pair) { var pairArray = pair.split('='); //把参数分割成key,value的形式 var name = d(pairArray[0]); //name是url里参数的键 var value = d(pairArray[1]); //value是url里参数的值 obj[name] = value; }); return obj; } //注:这里的string在外面没有定义,是因为由内部定义的,在需要的时候自动创建(相当于局部变量)