我目前正在通过Javascript工作,这是一本非常好的书,但正如标题所说,我似乎正在走向死胡同,让代码适用于章节 五。当我运行代码时,我得不到任何回报,所以我不确定它的错误就像书本一样,任何帮助都很棒。
Function.method('new',function(){
var that = Object.beget(this.prototype);
var other = this.apply(that,arguments);
return (typeof other === 'object' && other) || that ;
});
var Mammal = function(name){
this.name = name;
};
Mammal.prototype.get_name = function(){
return this.name;
};
Mammal.prototype.says = function(){
return this.saying || '';
}
var myMammal = new Mammal('Herb the mammal');
var name = myMammal.get_name();
document.writeln(name);
答案 0 :(得分:0)
请参阅'扩充类型'在章节'功能' ' JavaScript - 好的部分'
请在问题中发布的代码之前添加以下代码。
这将使method
上的Function
功能可用。
Function.prototype.method = function (name, func) {
this.prototype[name] = func;
return this;
};
请参阅此fiddle以获取完整的工作代码。
请注意new
已提供Function
方法。该代码显示了augment
。
您可以从代码中删除以下块。
Function.method('new',function(){
var that = Object.beget(this.prototype);
var other = this.apply(that,arguments);
return (typeof other === 'object' && other) || that ;
});
但是,如果您需要保留上述内容,则必须augment
method
功能Function
。