“新狗”或“新狗()”

时间:2014-03-01 14:54:45

标签: javascript

使用或不使用括号“实例化”JavaScript“类”之间有什么区别?

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

Animal.prototype.sayName = function() {
     console.log(this.name);
};

function Dog(name) {
     Animal.call(this, name);
}

Dog.prototype = new Animal(null);
Dog.prototype.bark = function() {
     console.log("Woof!");
};

var d = new Dog

var d = new Dog()

1 个答案:

答案 0 :(得分:0)

此问题已被提出here

它们之间没有区别,只要构造函数不带参数即可。那就是:调用new Dog(没有括号)就像调用没有参数的新Dog()。