出于某种原因,我无法获得我的切换声明,我是Javascript的新手,我感觉我的问题更多地与猫的关系=== === "串"'部分而不是开关。
为了这个例子,假设' data.cat'的值。是初学者。
function (data) {
data = JSON.parse(data);
if (!data.success) {
// An error was thrown in the controller
alert(data.message);
} else {
switch (cat = data.cat) { //data.cat is Starters
case 0:
cat === "Starters";
console.log("Test a= " + cat);
break;
case 1:
cat === "Mains";
console.log("Test b= " + cat);
break;
case 2:
cat === "Deserts";
console.log("Test c= " + cat);
break;
default:
console.log("Shit.." + data.cat);
break;
}
}
});
http://jsfiddle.net/76fe9kk7/3/
正如您从小提琴中看到的那样,日志会报告默认值。这是为什么?
答案 0 :(得分:3)
var cat = "Starters";
switch (cat) {
case "Starters":
console.log("Test a= " + cat);
break;
case "Mains":
console.log("Test b= " + cat);
break;
case "Deserts":
console.log("Test c= " + cat);
break;
default:
console.log("Shit.." + cat);
break;
}
答案 1 :(得分:3)
如果在字符串值上进行切换并且每种情况都需要数值,为什么每次都输入除默认值以外的任何内容?
"为了这个例子,假设' data.cat'的值。是初学者。"
在这种情况下,这意味着switch (cat = data.cat)
基本上是在说switch ('Starters')
。显然,这将永远属于默认情况。