传递具有更改属性的对象

Ice*_*cen 4 javascript

有一个功能需要设置对象。

var opt = {
    height: 300,
    maxLength: 4000,
    valueChangeEvent: "change",
    placeholder: "",
}
$(selector1).doStuff(opt);
$(selector2).doStuff(opt);
$(selector3).doStuff(opt);
$(selector4).doStuff(opt);
Run Code Online (Sandbox Code Playgroud)

问题是占位符每次都应该不同。目前,我在每次调用时都会创建这个 opt 对象,但它看起来很难看。有没有一种方法可以在仅更改一个属性的同时传递此 opt 对象?

Phi*_*hil 6

您可以像这样使用您的opt对象作为模板

$(selector1).doStuff({...opt, placeholder: 'different every time' })
Run Code Online (Sandbox Code Playgroud)

...运算符解构原始opt对象,然后将任何其他属性添加到结果中,替换任何冲突的内容。