概述
1.当访问一个对象的属性或方法时,就在该对象实例身上查找这个属性或方法;
2.如果从1中没找到,就通过这个对象的__proto__属性,指向这个实例对象的构造函数的prototype(原型对象),然后在构造函数的prototype中查找对应的属性和方法
3.如果2中仍然没有找到,就通过这个构造函数的__proto__属性,继续向上查找,即查找原型对象的原型,以此类推直到找到对应的属性或方法,没找到就返回NULL。
__proto__是在查找成员的路上提供了方向,指路的作用。它指向prototype(原型对象)。
原型对象的this指向:
function Star (uname, age) {
this.uname = uname
this.age = age
}
var that
Star.prototype.sing = function () {
console.log('我会唱歌');
that = this
}
var ldh = new Star('刘德华', 20)
//1.在构造函数中,里面this指向的是对象实例 ldh
ldh.sing()
console.log(that == ldh);
//2.原型对象里的this指向的也是 对象实例 ldh
构造函数里的this指向的是实例对象。
最后
以上就是能干烤鸡为你收集整理的JavaScript成员查找机制 原型对象this指向的全部内容,希望文章能够帮你解决JavaScript成员查找机制 原型对象this指向所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复