Совет отладчика Javascript. Показать имя для значения, отличного от «Объект» - PullRequest
2 голосов
/ 07 апреля 2011

Я хочу использовать следующую идею для системы классов в 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 Ответ

1 голос
/ 08 апреля 2011

Вы создаете и расширяете экземпляр - не класс , но вы также можете создать свой собственный класс .

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
...