js中构造函数里this的指向问题

1、在许多文献中关于this的指向 都是 谁调用这个方法 这个方法内的this就指向谁;可是为什么构造函数里面的this会指向实例呢,当然,我这里并不是调用的原型里面的方法。
2、代码如下:

function p(){

            console.log(this)

        }

 new p();

function fn(){

            console.log(this);

        }

 fn();

3、运行结果如下

https://img.mukewang.com/5bfdff87000100cd10530073.jpg

4、这个结果应该怎么理解呢



慕桂英3389331
浏览 1818回答 1
1回答

慕斯709654

你说的只是四种情况之一。构造函数的调用其中有几步是:1.创建一个新对象;2.将构造函数的作用域赋给新对象(因此this就指向了这个新对象);3.执行构造函数中的代码;4.返回新对象;《JavaScript高级程序设计》6.2.2重点是先改变this指向,再执行构造函数中的代码。参考
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript