var t = "TEST";
switch(t){
case !"TEST": /* <- does not work. Can you check if t does NOT contain a string? */
alert("t != TEST");
break;
}
你可以用switch語句做到這一點嗎?我可以在JavaScript switch語句中檢查不等於嗎?
var t = "TEST";
switch(t){
case !"TEST": /* <- does not work. Can you check if t does NOT contain a string? */
alert("t != TEST");
break;
}
你可以用switch語句做到這一點嗎?我可以在JavaScript switch語句中檢查不等於嗎?
您可以使用if。如果你喜歡開關,使用「默認」情況和條件,如果沒有像
default:
if(n == -1){
//Your code
}
break;
如果你走這條路線,你可能會拋棄switch語句而轉向if else – jamiethepiper
你可以使用typeof運算:
<script>
var t =((typeof "Test")=='string')?true:false;
switch(t){
case false:
alert("t != TEST");
break;
}
</script>
case
語句總是尋找正確的。既然你真的想檢查變量是一個字符串(如我在你的代碼的註釋讀),也許這種方法可以爲你是正確的:
var t = "TEST";
switch(typeof t){
case "string":
break;
default:
alert("t is not a string");
break;
}
編輯:
如果您有更多的真實代碼中的情況,下面的代碼可能會完成這項工作嗎?
var t = "TEST";
switch(t){
case t:
if ("string" != typeof t) {
alert("t is not a string");
break;
}
case "TEST":
alert("case 2");
break;
case "something_else":
alert("case 3");
break;
}
下面是一個示例小提琴:http://jsfiddle.net/Rz7Sf/。用一個整數替換t
變量值,你應該看到正確的警報。
比方說:
var t = "TEST";
switch(t){
case "TEST":
break;
default:
alert("This is the case you want");
break;
}
,你也可以這樣做:
var str = "TEST";
switch (true) {
case (str !== "TEST") :
alert("str !== TEST");
break;
case (str === null) :
alert("str is null");
break;
default:
alert("default trigger");
}
雖然'開關(真)'和與評估在JavaScript中真/假_works_邏輯表達式,然後有情況......這不是如何使用開關的「含義」。舉個簡單的例子,一個簡單的if語句會更好。 – CBroe
這個例子是從一個更復雜的案例中分離出來的。感謝評論CBroe! – subZero
你爲什麼不使用'if'? – ComFreek