为了账号安全,请及时绑定邮箱和手机立即绑定

关于Javascript作用域的问题

关于Javascript作用域的问题

墨色风雨 2019-04-13 08:37:14
functiona(){alert(this);}varz=document.getElementById("z");z.onclick=function(){a();}结果会弹出Window,谁能帮我比较清楚的解释一下这个原理,先谢谢啦。
查看完整描述

2 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

因为a()是属于widow的也就是在你z.onclick中运行的是window.a();所以a中的this还是window
functiona(){
alert(this);
}
varz=document.getElementById("z");
z.onclick=function(){
a();//相当于widow.a();window隐藏了而已
alert(this)//这个才是z
}
                            
查看完整回答
反对 回复 2019-04-13
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

这个就相当于你在页面中的"z"加了一个onclick事件而已。
click后,其实并没有针对id=z的标签做任何事件,只是去触发alert(this),而初始化中,a也只是附属于window,所以最后的结果是window.
                            
查看完整回答
反对 回复 2019-04-13
  • 2 回答
  • 0 关注
  • 317 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信