JavaScript编程
Completion requirements
翻译
instanceof
操作符
instanceof
操作符用于判断一个对象是否是另一个对象的子类实例。如果是,它会返回 true
。instanceof
是一个二元中缀操作符,其左操作数是一个对象,右操作数是一个对象类型。如果左操作数的类型是由右操作数指定的类型,则返回 true
。它与 .constructor
属性的区别在于,instanceof
会“沿着原型链向上查找”。例如,如果对象 a
是类型 b
,并且 b
是类型 c
的扩展,那么 a instanceof b
和 a instanceof
c
都会返回 true
,而 a.constructor === b
会返回 true
,但 a.constructor === c
会返回 false
。
通过原型继承
对象的原型可以用来为对象创建字段和方法。通过将超类的新实例赋值给原型,可以实现继承。
function CoinObject() {
this.value = 0;
this.diameter = 1;
}
function Penny() {
this.value = 1;
}
Penny.prototype = new CoinObject();
function Nickel() {
this.value = 5;
}
Nickel.prototype = new CoinObject();
通过函数继承
待做: 提供一种基于函数的继承方法推荐 - 参考网址:http://www.crockford.com/javascript/inheritance.html
function CoinObject() {
this.value = 0;
this.diameter = 1;
}
参考文献
- Matthew Batchelder. "Object Oriented JavaScript" 介绍了一种在 JavaScript 中实现继承的方法。
Last modified: Monday, 13 January 2025, 3:06 PM