这里为什么是window 不是 calc ? 视频里老师说对象没有作用域 ,

这里为什么是window 不是 calc ? 视频里老师说对象没有作用域 ,

        const calc={

            add: ()=>{

                console.log(this)

            }

        }

        console.log(typeof calc);

        calc.add(); //winodw


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕星星 2021-04-27 13:39:43

同学你好,箭头函数与普通函数不一样。

普通函数中的this指向调用者对象,例如:

http://img1.sycdn.imooc.com//climg/6087a2ee091e233803360162.jpg

http://img1.sycdn.imooc.com//climg/6087a2f609dca02301890032.jpg

而箭头函数没有this,需要看所在作用域的this指向。cacl对象没有作用域,而cacl在window作用域中,所以this指向的是window。

祝学习愉快!

  • 提问者 TheRoo #1

    没有对象作用域这个说法吗? 只有全局作用域和 函数作用域对吗?

    2021-04-27 19:19:16
  • 好帮手慕星星 回复 提问者 TheRoo #2

    是的,没有对象作用域说法,有全局作用域,局部作用域(例如函数内部)以及es6中的块级作用域。

    2021-04-28 11:18:59
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师