《JavaScript经典面试题》第3道:关于this指向的常见面试题

微信公众号:javafirst

继续我们的经典面试题系列,今天我们了解一下关于函数内部this指向的问题,用一个简单的例子来讲解一下:

看下面的代码,你觉得输出的结果是什么?

代码中我们4次调用来console.log()来在控制台输出内容,请问4次的内容分别是什么?

在外部函数中, thisself两者都指向了 myObject ,因此两者都可以正确地引用和访问foo。 

在内部函数中,this不再指向myObject。其结果是,this.foo没有在内部函数中被定义,相反,指向到本地的变量self保持在范围内,并且可以访问。 (在ECMA 5之前,在内部函数中的this 将指向全局的 window 对象;反之,因为作为ECMA 5,内部函数中的功能this 是未定义的。)

所以,上面的代码将输出以下内容到控制台:



更多资源扫一扫免费获取


猜你喜欢

转载自blog.csdn.net/xiamiflying/article/details/80944756