参见英文答案 >
Declaring javascript object method in constructor function vs. in prototype 3个
所以我在CodeAcademy上学习了一些关于JavaScript的课程,然后我讨论了有关原型的这一部分.
有点来自代码:
function Dog(breed){
this.breed = breed;
};
Dog.prototype.bark = function(){
console.log("Bark!");
};
我不明白这样做的意义.为什么不这样做呢? (我第一次学习的方式.)
function Dog(breed){
this.breed= breed;
this.bark = function(){
console.log("Bark!");
};
}
第二种方式,一切都在一个块中,而不是分开.第一个的优势是什么?我知道有,我只是没有看到它.
最佳答案 一个区别是,在原型情况下,函数只存在一次,更改它将使用此原型更改所有对象.在这.在每个对象中重复该函数的情况.
这在足迹和语义方面都有所不同.