Kol*_*ten 5 javascript constructor object
我有一个构造函数:
function car(name, speed, options){
this.name = name;
this.speed = speed;
this.options = options;
}
Run Code Online (Sandbox Code Playgroud)
我可以像这样创建一个新对象:
var carMustang = new car("Mustang", 250, ["Cruise Control","Air Conditioning", "ABS"]);
Run Code Online (Sandbox Code Playgroud)
如果我想让某人单击一个按钮,然后通过单击该按钮动态创建新对象,我将如何进行?我不希望“核心”对象(carMustang)发生变化,而是让用户可以选择更改他们自己的“个人”对象实例的选项。此外,他们需要创建同一对象的多个实例,能够随意更改属性,而不会影响代码中定义的“核心”对象。
为什么不直接创建一个从点击处理程序调用的“自定义构造函数”?:
function newBaseMustang() {
var baseMustang = new car("Mustang", 250, ["Cruise Control","Air Conditioning", "ABS"]);
return baseMustang;
}
Run Code Online (Sandbox Code Playgroud)
然后调用者可以进行他们想要的任何更改:
var mustang1 = newBaseMustang();
mustang1.speed += 100;
var mustang2 = newBaseMustang();
mustang2.name = "MyMustang";
Run Code Online (Sandbox Code Playgroud)
您还可以使用像 Immutable.js 这样的库来使“模板汽车”不可变并制作它的修改副本。
| 归档时间: |
|
| 查看次数: |
1762 次 |
| 最近记录: |