1、关于获取一个url中的参数列表问题
方法有很多种,比如正则啊,split截取字符串等等
下面是字符串的方法
function(url){ var resutl = {}; url = url.split("?")[1]; var map = url.split('&'); for(var i=0;len = map.length, i<len;i++){ result[map][i].split('=')[0] = map[i].split('=')[1]; } return result; }
另外还有location.search方法可以获取url?及其以后的参数然后split
第二种是正则的方法
function getQueryString(url){ //var reg = new RegExp("") var r = window.location.serach.substr(1).match(reg); var context = ''; if(r != null){ context = r[2]; reg = null; r = null; return context == null || context == '' || context == 'undefined' ? "" : context; } }
第三中也是正则
function getQueryString(name) { var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); var r = window.location.search.substr(1).match(reg); if (r != null) { return unescape(r[2]); } return null; }
这里没有关注参数值为空的情况和解码的问题
var name = "The Window"; var object = { name : "My Object", getNameFunc : function(){ return function(){ return this.name; }; } }; alert(object.getNameFunc()()); //The Window。
题目解析,主要考察this的指向问题,匿名函数的执行具有全局性,