2014-03-01 27 views
1

如果在「實例化」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() 

回答

0

這個問題已經被問here

他們之間沒有什麼區別,只要在構造函數不帶參數。那就是:調用新的Dog(沒有括號)就像調用沒有參數的新Dog()。