小程序
小游戏
企业微信
微信支付
扫描小程序码分享
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
你用箭头函数就和第一个this指向一样了
setInterval(()=>{
console.log(this);
},2000)
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
楼上正解
什么是this
this 是 JavaScript 中的一个关键字。依赖于函数调用的上下文条件。
函数的this指向谁,其实可以分为两种情况讨论:
普通函数的this:
普通函数的this指向函数调用者,如果找不到调用者,默认指向window。普通函数的this指向可以通过call\apply\bind去改变
箭头函数的this
箭头函数本身并无this,箭头函数的this由定义箭头函数时所处的作用域决定,即箭头函数的this永远指向定义箭头函数时所在的作用域的this(也可以说是上层作用域,强调的是作用域!)。箭头函数的this只和定义时的作用域this有关,和调用者无关,和调用环境无关,也永远不会改变。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
你用箭头函数就和第一个this指向一样了
setInterval(()=>{
console.log(this);
},2000)
楼上正解
什么是this
this 是 JavaScript 中的一个关键字。依赖于函数调用的上下文条件。
函数的this指向谁,其实可以分为两种情况讨论:
普通函数的this:
普通函数的this指向函数调用者,如果找不到调用者,默认指向window。普通函数的this指向可以通过call\apply\bind去改变
箭头函数的this
箭头函数本身并无this,箭头函数的this由定义箭头函数时所处的作用域决定,即箭头函数的this永远指向定义箭头函数时所在的作用域的this(也可以说是上层作用域,强调的是作用域!)。箭头函数的this只和定义时的作用域this有关,和调用者无关,和调用环境无关,也永远不会改变。