跳转到内容

JavaScript/继承

来自维基教科书,开放的书籍,开放的世界



instanceof运算符

[编辑 | 编辑源代码]

instanceof运算符确定一个对象是否被实例化为另一个对象的子对象,如果情况属实,则返回trueinstanceof是一个二元中缀运算符,其左操作数是一个对象,其右操作数是一个对象类型。如果左操作数是右操作数指定的类型,则返回truetrue。它不同于.constructor属性,因为它“沿着原型链向上查找”。如果对象a是类型b是类型,并且bc的扩展,那么a instanceof btruea instanceof c都返回truetrue,而a.constructor === btrue返回.

true

,而

a.constructor === c

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();

false

原型继承
Clipboard

[编辑 | 编辑源代码]
对象的原型可用于为对象创建字段和方法。此原型可用于继承,方法是将父类的新的实例分配给原型。[1]


function CoinObject() {
 this.value = 0; 
 this.diameter = 1;
}

函数继承

[编辑 | 编辑源代码]
  1. 待办事项



提供基于函数的继承的推荐方法 - 一个参考是http://www.crockford.com/javascript/inheritance.html
华夏公益教科书