【问题标题】:JavaScript switch-case internalsJavaScript switch-case 内部结构
【发布时间】:2013-06-12 09:09:33
【问题描述】:

考虑以下代码:

// Checking parities
switch(queueingSystem.Priority) {
    case 1: 
         FetchGridElements();
         break;
    case 1: 
         BindToControls(this, document.getElementsByClassName("grid-controls"));
         break;
    default:
         return false;
}

JavaScript 内部是否针对每个 case 测试值和类型,相当于:

queueingSystem.Priority === 1

或者

queueingSystem.Priority == 1

【问题讨论】:

标签: javascript comparison switch-statement


【解决方案1】:

它检查严格相等 === ,如下代码所示:

switch (1) {
  case "1":
     console.log('ok');
     break;
  default :
     console.log('nok');
}

记录nok

the ECMAScript specification中定义:

如果输入等于 === 运算符定义的子句选择器, 那么

【讨论】:

  • 感谢规范链接。
【解决方案2】:

类型比较:

queueingSystem.Priority === 1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 2020-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多