当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 关于javascript原型链的记录

关于javascript原型链的记录

2018年11月05日  | 移动技术网IT编程  | 我要评论
构造函数拥有名为prototype属性,每个对象都拥有__proto__属性,而且每个对象的__proto__属性指向自身构造函数prototype。 当调用某种方法或属性时,首先会在自身调用或查找,如果自身没有该属性或者方法,则会去它的__proto__属性中调用查找,也就是它构造函数的proto ...

构造函数拥有名为prototype属性,每个对象都拥有__proto__属性,而且每个对象的__proto__属性指向自身构造函数prototype。
**当调用某种方法或属性时,首先会在自身调用或查找,如果自身没有该属性或者方法,则会去它的__proto__属性中调用查找,也就是它构造函数的prototype中调用查找**;

function person(){}
var person = new person();
console.log(person.__proto__==person.prototype);      //true
console.log(person.__proto__==function.prototype);    //true
console.log(string.__proto__==function.prototype);    //true
console.log(number.__proto__==function.prototype);    //true
console.log(json.__proto__==function.prototype);      //false
console.log(json.__proto__==object.prototype);        //true
console.log(math.__proto__==object.prototype);        //true
console.log(function.__proto__==function.prototype);  //true

因为构造函数.prototype也是对象(称之为原型对象),因此也具有__proto__方法,所有的构造函数的原型对象都指向object.prototype(除了object.prototype自身);
console.log(person.prototype.__proto__==object.prototype); //true
console.log(object.prototype.__proto__==null); //true

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网