javascript - js中构造函数里this的指向问题
本文介绍了javascript - js中构造函数里this的指向问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
1、在许多文献中关于this的指向 都是 谁调用这个方法 这个方法内的this就指向谁;可是为什么构造函数里面的this会指向实例呢,当然,我这里并不是调用的原型里面的方法。
2、代码如下:
function p(){
console.log(this)
}
new p();
function fn(){
console.log(this);
}
fn();
3、运行结果如下
4、这个结果应该怎么理解呢
解决方案
你说的只是四种情况之一。
构造函数的调用其中有几步
是:
1.创建一个新对象;
2.将构造函数的作用域赋给新对象(因此this就指向了这个新对象);
3.执行构造函数中的代码;
4.返回新对象;
《JavaScript高级程序设计》6.2.2
重点是先改变this指向,再执行构造函数中的代码。
这篇关于javascript - js中构造函数里this的指向问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文