Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript调试器提示。显示除“0”以外的值的名称;“对象”;_Javascript_Google Chrome_Firebug_Chromium - Fatal编程技术网

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

Javascript调试器提示。显示除“0”以外的值的名称;“对象”;,javascript,google-chrome,firebug,chromium,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];

我想在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中的调试器和控制台将每个实例都称为对象。真烦人。如何修复此问题?

您正在创建和扩展实例——不是类,但也可以创建自己的类


那是因为,惊喜!,JavaScript中的所有内容都是一个对象。JavaScript没有“类”的概念。它只有一个可以修改的原型链。您只能使用“instanceof”操作符来模拟基于类的系统。大多数实现将类名和基类名等作为原型变量。如果您还没有发现它,Firebug应该为您提供可单击的文本,该文本将在DOM选项卡中打开,以便您在调用
console.log(myObject)时浏览对象属性Javascript可能没有“类”的概念,但我的调试器有。它们通过其本机构造函数标记对象,这似乎是任意的。我认为这可能是可配置的。
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