gpt4 book ai didi

javascript - 我可以用 JavaScript 中的 switch 或 case 语句重构 if - else 吗?

转载 作者:行者123 更新时间:2023-11-30 18:21:03 26 4
gpt4 key购买 nike

我有以下代码:

var btns1 = {
'Submit': function (win) {
submitHandler(oLink.$link, $('#main-form'), false);
},
'Submit & Close': function (win) {
submitHandler(oLink.$link, $('#main-form'), true);
},
'Close': function (win) {
modal.closeModal()
}
}
var btns2 = {
'Submit & Close': function (win) {
submitHandler(oLink.$link, $('#main-form'), true);
},
'Close': function (win) {
modal.closeModal()
}
}

if (oLink.title.substr(0, 4) == "Crea") {
if (content.match(/data-RowKey="(.{3}).*/)) {
oLink.title += " " + content.match(/data-RowKey="(.{3}).*/)[1]
}
var btns = btns1;
}
if (oLink.title.substr(0, 4) == "Edit") {
var btns = btns1;
}
if (oLink.title.substr(0, 4) == "Dele") {
var btns = btns2;
}

有什么方法可以重构代码。我在想的是将它放入一个名为“adminModalBtns”的函数中,让它将 oLink 和内容作为参数并让它返回 btns。使用 if-else 或 case 语句是否最清楚?

最佳答案

function getButtons(oLink, content) {

var btns1 = {
'Submit': function(win) {
submitHandler(oLink.$link, $('#main-form'), false);
}
}
var btns2 = {
'Submit & Close': function(win) {
submitHandler(oLink.$link, $('#main-form'), true);
},
'Close': function(win) {
modal.closeModal()
}
}
switch (oLink.title.substr(0, 4)) {
case "Crea":
if (content.match(/data-RowKey="(.{3}).*/)) {
oLink.title += " " + content.match(/data-RowKey="(.{3}).*/)[1]
}
case "Edit":
return $.extend(btns1, btns2);
case "Dele":
return btns2;
}
}

var btns = getButtons(oLink, content);

关于javascript - 我可以用 JavaScript 中的 switch 或 case 语句重构 if - else 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12025876/

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