关于this指向

关于this指向

let f1 = function(){

            console.log(this)   //window

        };

        console.log(window.f1)  //undefined

        f1()

使用let定义的函数表达式,这个函数没有挂到window对象中,但是函数中的this确指向window对吗

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

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

1回答
好帮手慕久久 2021-11-26 16:31:05

同学你好,理解是对的。es6中,使用let、const、class声明的全局变量和类,都不是挂载在window上,因此window.f1的结果是undefined。而调用f1时,没有明确的调用者,在非严格模式下,指向window。

祝学习愉快!

  • 可以理解为全局下的函数是window的方法吗?

    2021-12-30 22:33:32
  • 同学你好,解答如下:

    1、在es6语法中,全局函数不是window的方法。

    2、在es6之前的语法中,全局函数是window上的方法;可以简单理解成,使用var声明的全局函数会挂载在window上,成为window的方法,例如:

    https://img1.sycdn.imooc.com//climg/61ce6e5409b51ea004930114.jpg

    https://img1.sycdn.imooc.com//climg/61ce6e9f09641b3103880105.jpg

    祝学习愉快!

    2021-12-31 10:44:57
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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