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

js 函数相互调用时,this 指向

js 函数相互调用时,this 指向

MMTTMM 2019-03-06 15:08:15
在 hello() 中调用 world() ,为什么 world() 中的 this 指向的是 window?是不是因为在调用world()时,没有明确的使用对象或 this,所以 world() 中的 this 就指向了 window?希望能大家的得到解惑。<html><head><meta charset="utf8"></head><body><button id="btn1">hello world</button><script type="text/javascript">    document.querySelector("#btn1").addEventListener("click",hello);    function hello()    {        console.log("hello 的 this")        console.log(this)        world();    }        function world()    {        console.log("world 的 this")        console.log(this) // window    }</script></body></html>
查看完整描述

2 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

可以像你说的这么理解,函数默认的this指向就是window,严格模式是null


查看完整回答
反对 回复 2019-03-12
?
精慕HU

TA贡献1845条经验 获得超8个赞

当函数做为对象的方法调用时,this指向这个对象,当函数直接被调用时,this指向window,严格模式指向null。你的world方法是直接调用,所以指向window


查看完整回答
反对 回复 2019-03-12
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

查看完整回答
反对 回复 2019-03-12
  • 2 回答
  • 0 关注
  • 639 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号