[英]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.