gpt4 book ai didi

javascript - 对象中定义的函数中的默认参数

转载 作者:行者123 更新时间:2023-11-28 19:12:12 25 4
gpt4 key购买 nike

这是我的代码:

MyModel =  {
get: function(key, model) {
if(typeof(model) === 'undefined') { // A
model = Model.get(); // A
} // A
return model.data[key];
},
getAll: function(model) {
if(typeof(model) === 'undefined') {
model = Model.get();
}
return model.data;
},
save: function(data, model) {
if(typeof(model) === 'undefined') {
model = Model.get();
}
model.save(data);
},
//...
}

A 部分重复。

有没有办法做得更漂亮?

类似 get: function(key, model = Model.get());

来自MDN ,但它在许多浏览器中不起作用。

function setBackgroundColor(element, color = 'rosybrown') {
element.style.backgroundColor = color;
}

setBackgroundColor(someDiv); // color set to 'rosybrown'
setBackgroundColor(someDiv, undefined); // color set to 'rosybrown' too
setBackgroundColor(someDiv, 'blue'); // color set to 'blue'

最佳答案

您可以将其作为对象中的函数,从而保持代码干燥

getModel: function(model){
return model || Model.get();
}

现在在需要模型的 block 中使用以下内容。

var test_model = this.getModel(model);

关于javascript - 对象中定义的函数中的默认参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30557041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com