Javascript调试器提示。显示“对象”以外的值的名称

时间:2011-04-07 04:21:47

标签: javascript google-chrome firebug chromium

我想在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。它很烦人。我该如何解决这个问题?

1 个答案:

答案 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