JS获取地址栏中的参数

hai.ye 2018-11-22 09:39:45

function UrlSearch()
{
var str=location.href; //取得整个地址栏
alert(str);
var num=str.indexOf("?")
str=str.substr(num+1); //取得所有参数 stringvar.substr(start [, length ]

var arr=str.split("&"); //各个参数放到数组里
for(var i=0;i < arr.length;i++){
num=arr[i].indexOf("=");
if(num>0){
name=arr[i].substring(0,num);
alert(name);
value=arr[i].substr(num+1);
alert(value);
this[name]=value;
}
}
}

上面代码中的 this[name]=value; 这句是什么意思,不明白这里。
...全文
409 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hai.ye 2018-11-22
  • 打赏
  • 举报
回复
引用 4 楼 qq_41114603 的回复:
UrlSearch这个函数如果只是像普通函数一样直接执行的话,函数里面的this指向window;那么意思就是把url后面的参数全部挂到window对象上面 比如 url后面的参数为 “?id=1&name=aaa” 那么执行结果就是 window.id="1";window.name="aaa"
这个函数是页面加载完成后自动执行的。
風灬雲 2018-11-22
  • 打赏
  • 举报
回复
UrlSearch这个函数如果只是像普通函数一样直接执行的话,函数里面的this指向window;那么意思就是把url后面的参数全部挂到window对象上面
比如 url后面的参数为 “?id=1&name=aaa”
那么执行结果就是 window.id="1";window.name="aaa"
winzond 2018-11-22
  • 打赏
  • 举报
回复
引用 2 楼 sinat_42478429 的回复:
[quote=引用 1 楼 winzond 的回复:]
http://www.runoob.com/js/js-function-invocation.html这里有关于this的详细介绍,变量name是地址栏“=”前的字段名(或许名称不正确,反正就是那个意思),value是“=”后的值,this是对象,[name]是属性,这条语句就是给Object添加一个name属性,并将value赋值给这个属性

这里面哪有Object?[/quote]阅读给你的链接,你必须搞懂this是谁才行,Object是“对象”的意思,就是this指向的对象
hai.ye 2018-11-22
  • 打赏
  • 举报
回复
引用 1 楼 winzond 的回复:
http://www.runoob.com/js/js-function-invocation.html这里有关于this的详细介绍,变量name是地址栏“=”前的字段名(或许名称不正确,反正就是那个意思),value是“=”后的值,this是对象,[name]是属性,这条语句就是给Object添加一个name属性,并将value赋值给这个属性
这里面哪有Object?
winzond 2018-11-22
  • 打赏
  • 举报
回复
http://www.runoob.com/js/js-function-invocation.html这里有关于this的详细介绍,变量name是地址栏“=”前的字段名(或许名称不正确,反正就是那个意思),value是“=”后的值,this是对象,[name]是属性,这条语句就是给Object添加一个name属性,并将value赋值给这个属性
hai.ye 2018-11-22
  • 打赏
  • 举报
回复
试了下确实是像4L说的那样。
風灬雲 2018-11-22
  • 打赏
  • 举报
回复
引用 5 楼 sinat_42478429 的回复:
[quote=引用 4 楼 qq_41114603 的回复:]
UrlSearch这个函数如果只是像普通函数一样直接执行的话,函数里面的this指向window;那么意思就是把url后面的参数全部挂到window对象上面
比如 url后面的参数为 “?id=1&name=aaa”
那么执行结果就是 window.id="1";window.name="aaa"

这个函数是页面加载完成后自动执行的。[/quote]
那函数里面的this就是window;你可以在函数里面打印this看下就知道了

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧