在 javascript 中,我怎么知道我 inehrit 哪个对象?例如
function a() {
this.c = 1;
}
function b() {
this.d = 2;
}
b.prototype = new a();
如何检查 b 是否从 a 继承?
谢谢你。
在 javascript 中,我怎么知道我 inehrit 哪个对象?例如
function a() {
this.c = 1;
}
function b() {
this.d = 2;
}
b.prototype = new a();
如何检查 b 是否从 a 继承?
谢谢你。
//capital letters indicate function should be used as a constructor
function A() {...}
function B() {...}
B.prototype = new A();
var a,
b;
a = new A();
b = new B();
console.log(a instanceof A); //true
console.log(a instanceof B); //false
console.log(b instanceof A); //true
console.log(b instanceof B); //true
console.log(B.prototype instanceof A); //true
使用 的构造函数属性b.prototype
或任何实例b
。
function a(){
this.c=1;
}
function b(){
this.d=2;
}
b.prototype=new a();
x = new b()
if(x.constructor == a){
// x (instance of b) is inherited from a
}
你们中的人可能想要instanceOf。
if (b instanceOf a) {
console.log("b is instance a")
}
这还具有遍历整个原型链的优势,因此无论它是父母,祖父母等