this指向问题

来源:3-5 非箭头函数中的 this 指向

慕神0232853

2021-12-30 22:32:02

   'use strict'

        //  全局作用域中的this指向

        function add () {

            console.log(this);

        }

        const cale = {

            add: add,

        }


        const info = cale.add;

        info();

问题描述:

info()调用为什么是window('use strict':undefined),不应该是info吗?明明是info调用的,难道变量const也是全局的吗?但是const不是块级作用域吗

写回答

1回答

好帮手慕星星

2021-12-31

同学你好,info是全局变量,cale.add的值是add函数,将cale.add赋值给info,那么info的值是add函数

https://img.mukewang.com/climg/61ce6aba097d65e203150067.jpg

https://img.mukewang.com/climg/61ce6ac509464fc903280107.jpg

info是函数,不是对象。info在全局下调用,也就是window.info()调用。所以this指向的是window。在严格模式下,this指向的是undefined。和const定义无关。

祝学习愉快!

0

0 学习 · 17877 问题

查看课程