我想学习如何在 javascript 中使用原型(prototype),我了解到原型(prototype)可以帮助我,例如在多个对象之间共享函数
var car = function(color, speed) {
this.color = color;
this.speed = speed;
}
car.prototype.doors = 4;
var honda = new car('black', 'beep');
var kea = new car('black', 'meep');
document.write(kea.doors+' '+ honda.doors);
honda.doors = 2;
document.write('<br/>');
document.write(kea.doors+' '+ honda.doors);
car.prototype.doors = 4;
document.write('<br/>');
document.write(kea.doors+' '+ honda.doors);
我在这里看到了一个视频:Here
那家伙说,如果我更新原型(prototype)的值,那么我所有对象中的变量都会改变,但在我的例子中,当我改变它时,值并没有改变。 如果我错了,请纠正我。
最佳答案
它们只会针对没有显式更改此属性的对象进行更改。我在最后一步更改了您的代码以设置 5 扇门:
car.prototype.doors = 5;
https://jsfiddle.net/g1hrujL0/ 在那里你可以看到 kea 对象的门数发生了变化,它继承了它的原型(prototype)的值,但是由于我们已经明确地为 honda 对象改变了这个属性,它的值没有改变。
关于javascript原型(prototype)分享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41032520/