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

时间:2014-12-20 08:29:58

标签: javascript html

标题为“我可以在单个变量中包含多个值吗?”

首先,我有这样的表格:

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

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');
  }