我想在Javascript中对类系统使用以下想法。
var base = Object.create(
Object.prototype,
{
extend: {
value: function extend (properties) {
var child = Object.create(this);
for (var p in properties) {
child[p] = properties[p];
}
return child;
}
},
make: {
value: function make () {
var child = Object.create(this);
if (child.init) child.init();
return child;
}
}
});
var animal = base.extend();
var cat = animal.extend(
{
init: function init () {
this.lives = 9;
}
}
);
var ares = cat.make();
但是,firebug和chromium中的调试器和控制台将每个实例都称为Object。它很烦人。我该如何解决这个问题?
答案 0 :(得分:1)
您正在创建和扩展实例 - 而不是类,但您也可以创建自己的类。
function Cat() {
};
console.log(Cat); //output: function Cat() {...}
console.log(new Cat()); // output: Cat
console.log(Object); // output: function Object() {...}
console.log(new Object()); // output: Object