gpt4 book ai didi

javascript - 将变量的值限制为有限的字符串集?

转载 作者:行者123 更新时间:2023-12-03 07:22:59 25 4
gpt4 key购买 nike

在我的代码中,我有几种操作“模式”。我们将它们称为“mode1”、“mode2”和“mode3”。

我希望能够从代码的不同部分更改和访问当前模式。

我可以将模式作为字符串分配给变量。例如:

var mode = "mode1";
...
if (mode === "mode3") {
...
}

...等等。但是,我想确保我不会意外地将模式值设置为超出范围的值(例如“mode4”)或完全 Not Acceptable 值(例如“asdf”)。我想将变量的值限制为有限的字符串集:{“mode1”,“mode2”,“mode3”}

在 JavaScript 中执行此操作的最佳方法是什么?

最佳答案

我想到的一个可能的选择是创建一个包装类:

function Mode() {
var possibleModes = ["mode1", "mode2", "mode3"];
var currentMode = possibleModes[0]; //default

this.setMode = function(mode) {
// Only set value if mode is in finite set of possible modes
if (possibleModes.indexOf(mode) != -1) {
currentMode = mode;
return true;
} else {
throw "Cannot assign out-range-value mode";
return false;
}
}

this.getMode = function() {
return currentMode;
}
}

var mode = new Mode();

所以...

mode.setMode("asdf"); // error
mode.setMode("mode2"); // success

有更好的方法吗?

关于javascript - 将变量的值限制为有限的字符串集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36122189/

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