假设我们有一个抽象类 Animal:
function Animal(){};
Animal.prototype.communicate = function(metadata){
//ABSTRACT
};
然后我们有一个 Duck 类:
function Duck(){};
Duck.prototype = new Animal();
Duck.prototype.communicate = function(metadata){
console.log("Cuack!");
};
所以,我正在编写一个 Greasemonkey 脚本,我真的需要在 localstorage 中保存一些动物,以便在下次加载页面时检索它们(这种方式允许我重新创建与重新加载页面之前相同的实例)。
所以,我真的需要创建的每个 Animal 的类名。我读了另一个类似的问题,他们获得类名的方式是:
var aDuck = new Duck();
console.log("ClassName: " + aDuck.constructor.name);
但是当我这样做时,我在控制台上得到“ClassName:Animal”。P/d:我不能用原型改变编程风格,这是一个要求...... :(
有什么建议么?谢谢你的时间!