functiona(){alert(this);}varz=document.getElementById("z");z.onclick=function(){a();}结果会弹出Window,谁能帮我比较清楚的解释一下这个原理,先谢谢啦。
2 回答
慕莱坞森
TA贡献1810条经验 获得超4个赞
因为a()是属于widow的也就是在你z.onclick中运行的是window.a();所以a中的this还是windowfunctiona(){alert(this);}varz=document.getElementById("z");z.onclick=function(){a();//相当于widow.a();window隐藏了而已alert(this)//这个才是z}
紫衣仙女
TA贡献1839条经验 获得超15个赞
这个就相当于你在页面中的"z"加了一个onclick事件而已。click后,其实并没有针对id=z的标签做任何事件,只是去触发alert(this),而初始化中,a也只是附属于window,所以最后的结果是window.
添加回答
举报
0/150
提交
取消