Javascript 开关始终默认

标签 javascript loops switch-statement default

我正在开发一个根据值设置 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 来自 JSON 文件的 AJAX 获取,并且值随着循环而变化。 我已提醒 _drukte 的值,它符合预期(目前为“normaal”、“drukker”、“gezellig druk”、“druk”和“vol”)。 我尝试搞乱其他情况(甚至使其无效 javascript),它只是调用默认值。

有人知道为什么吗?

最佳答案

我不想把目光投向窗外太远,但我几乎可以向您保证,ajax 请求的返回值并不 100% 适合您的情况'es.

如果我是你,我会在 switch 语句之前直接使用 console.log( _drukte );

也许是空格?大写字母?

这是我在没有看到您的实际代码的情况下可以提供的最佳答案,因此当遇到 switch 语句 时,请尝试找出 _drukte 包含哪个确切值。

关于Javascript 开关始终默认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15498932/

相关文章:

Java 线程 for 循环,具有暂停和恢复功能

javascript - 有没有办法在 HAML 的 :javascript region? 中使用 Ruby 循环

java - 使用循环在 Java 中制作表格

java - 使用 switch 语句将字符串中的每个元音替换为以下元音

javascript - 扩展文本框,需要边距或反页移动

javascript - 为什么 `enable-javascript-harmony` 会阻止 Web Worker 中的 Stack Overflow?

javascript - AngularJS:动态 base64 编码图像的 ng 类作为背景图像

javascript - 当链接到带有 id 的页面时,是否可以部分降落在页面下方而不是在顶部?

postgresql - 命名在 PostgreSQL 中用大小写创建的输​​出列

c - 切换小程序不让我看到结果