gpt4 book ai didi

javascript - 从 switch 语句中返回是否被认为是比使用 break 更好的做法?

转载 作者:IT老高 更新时间:2023-10-28 13:15:41 26 4
gpt4 key购买 nike

选项 1 - switch 使用 return:

function myFunction(opt) {
switch (opt) {
case 1: return "One";
case 2: return "Two";
case 3: return "Three";

default: return "";
}
}

选项 2 - switch 使用 break:

function myFunction(opt) {
let retVal = "";

switch (opt) {
case 1:
retVal = "One";
break;
case 2:
retVal = "Two";
break;
case 3:
retVal = "Three";
break;
}

return retVal;
}

我知道这两种方法都有效,但还有一种最佳做法吗?我更喜欢选项 1 - switch 最好使用 return,因为它更简洁。


Here is a jsFiddle of my specific example using the technique mentioned in @ic3b3rg's comments :

let SFAIC = {};

SFAIC.common = {
masterPages: {
cs: "CS_",
cp: "CP_"
},
contentPages: {
cs: "CSContent_",
cp: "CPContent_"
}
};

function getElementPrefix(page) {
return (page in SFAIC.common.masterPages)
? SFAIC.common.masterPages[page]
: (page in SFAIC.common.contentPages)
? SFAIC.common.contentPages[page]
: undefined;
}

要调用该函数,我会通过以下方式进行:

getElementPrefix(SFAIC.common.masterPages.cs);
getElementPrefix(SFAIC.common.masterPages.cp);
getElementPrefix(SFAIC.common.contentPages.cs);
getElementPrefix(SFAIC.common.contentPages.cp);

这里的问题是它总是返回未定义的。我猜这是因为它传递的是对象文字的实际值而不是属性。我将如何使用 @ic3b3rg 的 评论中描述的技术来解决此问题?

最佳答案

中断将允许您继续在函数中处理。如果您只想在函数中执行此操作,只需退出开关即可。

关于javascript - 从 switch 语句中返回是否被认为是比使用 break 更好的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6114210/

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