2014-12-20 97 views
5

由於標題「我可以在一個變量中有多個值嗎?」我可以在一個變量中有多個值嗎?

首先,我有這種形式:

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

有什麼辦法讓一個變量具有多個值嗎? Like,var myvalues=1,2,3;

+5

給回調使用數組? https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array – therealrootuser

+0

不,沒有這樣的變量。但是你可以使用'array'甚至'object'。 – sadrzadehsina

+0

另一個選擇是使用字符串,你可以在你的文本框中輸入'「1,2,3」',然後在'if'語句中尋找那些子字符串 –

回答

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>

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

使用一個對象和值

function abc(val){ 

     alert(val); 
    } 

var doSomething = { 
    "1": abc('1');, 
    "2": abc('2');, 
    "3": abc('3'); 
    } 
相關問題