2

我想将以下想法用于 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 中的调试器和控制台将每个实例称为对象。这很烦人。我怎样才能解决这个问题?

4

1 回答 1

1

You're creating and extending instance -- not a class but You can create your own class as well.

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
于 2011-04-08T10:27:51.203 回答