Javascript原型链原型介绍
1。__proto__。原型对象可以通过对象的__proto__属性访问。这个属性只在Firefox,Safari,Chrome,支持,而不是在IE和Opera支持。
2.object.getprototypeof()。一个对象可以被传递到object.getprototypeof()方法作为一个参数,在它执行时,它返回的对象的原型对象,这种方法只在ECMAscript 5标准支持。
3.o.constructor.prototype.by得到对象的第一个构造函数,然后通过访问构造函数的原型属性访问原型对象。使用这种方法的前提是有一个构造函数属性指向该对象的构造函数。
的isprototype()方法可以用来确定是否两个对象之间的关系是有原型链。
复制代码代码如下所示:
var = x:1 };
var o = object.create(P);
console.log(p.isprototypeof(O)); / /真的
通过字的大小创建的所有对象的原型对象都是Object.prototype(作为一个特殊的对象,Object.prototype也没有原型对象)。
复制代码代码如下所示:
var:18,b:28 };
console.log(x.__proto__; / /对象){ }
对于使用新操作符创建的所有对象,它们的原型对象都是构造函数函数的原型属性:
复制代码代码如下所示:
var:18,b:28 };
函数测试(c){
这个,C = C;
}
test.prototype = x;
var =新测试(38);
console.log(T); / /对象{ c = 38,= 18,B = 28 }
console.log(t.__proto__); / /对象{ A = 18,B = 28 }
console.log(t.__proto__。__proto__; / /对象){ }
使用Javascript中的新操作符创建对象的过程如下:
1。创建一个新的空对象。
2。点此对象构造函数的原型属性的__proto__属性。
三.将这个对象作为这个参数并执行构造函数函数。
从上面的过程中,我们可以得出结论:从同一个构造函数构造对象的所有__proto__等于原来的对象,也就是说,只有一个原型对象。
复制代码代码如下所示:
var =新测试(38);
var =新测试(68);
console.log(T = T2); / /假
console.log(t.__proto__ = T2。__proto__); / /真的