【发布时间】:2013-11-13 16:27:25
【问题描述】:
当我们使用 javascript Inheritance,并且子类从其父类继承时,我们总是这样做:
var klass = function(){ this.init.apply(this, arguments)};
if(parent) {
var subclass = function(){};
subclass.prototype = parent.prototype;
klass.prototype = new subclass;
}
上面的代码来自《Javascript Web Application》,我很困惑它和下面有什么区别:
var klass = function(){ this.init.apply(this, arguments)};
if(parent) {
klass.prototype = parent.prototype;
}
谁能帮我解释一下?
【问题讨论】:
-
klass.prototype = parent.prototype;表示这两个函数现在共享同一个prototype对象。所以对klass.prototype的添加将出现在parent.prototype上。这显然是不可取的。
标签: javascript class inheritance