我可以在单个变量中有多个值吗?

Can I have multiple values in a single variable?

本文关键字:单个 变量 我可以      更新时间:2023-09-26

作为标题"我可以在单个变量中有多个值吗?

首先,我得到了这个表格:

<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;

对您的问题的正确回答是使用数组。但从你试图做的事情来看,看起来你在寻找一个对象,特别是括号符号:

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>

这里你需要的是一个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;
    }
}

使用对象并给出值的回调

  function abc(val){
      alert(val);
  }
 var doSomething = {
    "1": abc('1');,
    "2": abc('2');,
    "3": abc('3');
  }