我需要在javascript中扩展一个抽象类。 我已经购买了Javascript The Definitive Guide - O'Reilly 在js中有一些OOP的例子。 我试图执行一个示例来扩展一个抽象类, 但我收到“AbstractSet.extend不是一个函数”。 有人可以帮我理解这个问题吗? 感谢
function abstractmethod() { throw new Error("abstract method"); }
function AbstractSet() { throw new Error("Can't instantiate abstract classes");}
AbstractSet.prototype.contains = abstractmethod;
var NotSet = AbstractSet.extend(
function NotSet(set) { this.set = set; },
{
contains: function(x) { return !this.set.contains(x); },
toString: function(x) { return "~" + this.set.toString(); },
equals: function(that) {
return that instanceof NotSet && this.set.equals(that.set);
}
}
);
--- Firebug控制台 AbstractSet.extend不是一个函数 equals:function(that){
答案 0 :(得分:1)
没有vanilla JavaScript extend
方法,因此出错。
这段代码是直接从书中复制的吗?作者可以参考jQuery's extend method吗?