标题为“我可以在单个变量中包含多个值吗?”
首先,我有这样的表格:
<form name="myform">
<input type="text" name="mytext">
<input type="button" onClick="clickButton()">
</form>
然后,看看我的剧本。
<script>
function clickButton() {
var x = document.myform.mytext.value;
var a = 13;
var b = 17;
var c = 19;
if (x == a) {
alert('hello');
} else if (x == b) {
alert('hello');
} else if (x == c) {
alert('hello');
} else {
alert('goodbye');
}
}
</script>
有没有办法让一个变量具有多个值?比如,var myvalues=1,2,3;
答案 0 :(得分:4)
对您的问题的正确回答是使用array。但是,根据您的目的,看起来您正在寻找object,特别是bracket notation:
function clickButton() {
var x = document.myform.mytext.value,
greetings = {
"13": "hello",
"17": "hello",
"19": "hello"
}
alert(greetings[x] || "goodbye");
}
<form name="myform">
<input type="text" name="mytext">
<input type="button" onClick="clickButton()" value="greet">
</form>
答案 1 :(得分:0)
这里需要的是Array
。数组是一个可以保存多个值和/或元素的变量。您可以为其分配值,然后使用[n]
选择器,其中n
是介于0(第一个元素)和2之间的数字(在这种情况下为2,因为您只有3个变量,所以他们的职位将是0,1,2)。
然后,为了使代码更清晰,可以使用switch()
语句检查值并在找到某个值时执行一些代码。
以下是一个例子:
function clickButton() {
var x = document.myform.mytext.value,
values = [13, 17, 19];
switch (x) {
case values[0]:
case values[1]:
case values[2]:
alert("hello");
break;
default:
alert("goodbye");
break;
}
}
答案 2 :(得分:-1)
使用对象并对值进行回调
function abc(val){
alert(val);
}
var doSomething = {
"1": abc('1');,
"2": abc('2');,
"3": abc('3');
}