如何为对象命名以进行调试?

Ale*_*llo 1 javascript oop debugging

我有这种情况:

var Dog = function(name) {
    this.name = name;
}

var myDog = new Dog("Lucky");
myDog.bark();
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法给对象一个名称,并在抛出此类错误时在控制台中看到它:

Object [object Object] has no method 'bark'
Run Code Online (Sandbox Code Playgroud)

我很乐意看到类似的东西:

Object [Dog] has no method 'bark'
Run Code Online (Sandbox Code Playgroud)

用JavaScript做任何可能吗?

Flo*_*ent 7

免责声明:正如Cedric Reichenbach评论的那样,这是一种特定于浏览器的行为.

不要使用匿名函数声明您的.
相反,你应该使用一个function声明:

function Dog(name) {
  this.name = name;
}

var myDog = new Dog("Lucky");
myDog.bark(); // TypeError: Object #<Dog> has no method 'bark'
Run Code Online (Sandbox Code Playgroud)

或者使用命名函数:

var Dog = function Dog(name) {
  this.name = name;
}

var myDog = new Dog("Lucky");
myDog.bark(); // TypeError: Object #<Dog> has no method 'bark'
Run Code Online (Sandbox Code Playgroud)