Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

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

function p(){
            console.log(this)
        }
 new p();
function fn(){
            console.log(this);
        }
 fn();

3、运行结果如下图片描述

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
485 views
Welcome To Ask or Share your Answers For Others

1 Answer

你说的只是四种情况之一。
构造函数的调用其中有几步是:

1.创建一个新对象;
2.将构造函数的作用域赋给新对象(因此this就指向了这个新对象);
3.执行构造函数中的代码;
4.返回新对象;
《JavaScript高级程序设计》6.2.2
重点是先改变this指向,再执行构造函数中的代码。

参考


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...