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做任何可能吗?
免责声明:正如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)