簡體   English   中英

我可以在一個變量中有多個值嗎?

[英]Can I have multiple values in a single variable?

標題為“我可以在單個變量中包含多個值嗎?”

首先,我有這樣的形式:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM