我正在开发一个基于值设置2个变量的开关,如下所示:
switch(_drukte) {
case "normaal":
_gradients.push("green");
_widths.push("20%");
break;
case "drukker":
_gradients.push("yellow");
_widths.push("40%");
break;
case "gezellig druk":
_gradients.push("orange");
_widths.push("60%");
break;
case "druk":
_gradients.push("red");
_widths.push("80%");
break;
case "vol":
_gradients.push("full");
_widths.push("100%");
break;
default:
_gradients.push("green");
_widths.push("20%");
break;
}
出于某种原因,这总是调用默认值。 _drukte来自AJAX get on JSON文件,值随循环而变化。 我已经提醒了_drukte的价值并且它符合预期(目前它是“normaal”,“drukker”,“gezellig druk”,“druk”和“vol”)。 我试图弄乱其他情况(甚至使其无效的javascript),它只是调用默认值。
有人知道为什么吗?
答案 0 :(得分:2)
我不想太偏离窗外,但我几乎可以保证你的 ajax请求的返回值不适合你case
'的100% ES。
如果我是你,我会在console.log( _drukte );
声明之前直接switch
。
也许是白色空间?大写字母?
这是我能提供的最佳答案,而不会看到您的实际代码,因此在遇到_drukte
时,请尝试确定switch statement
包含哪个确切值。