JavaScript内部开关

JavaScript switch-case internals

本文关键字:开关 内部 JavaScript      更新时间:2023-09-26

考虑以下代码:

// 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

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

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

记录nok

在ECMAScript规范中定义:

如果input等于===操作符定义的clauseSelector,

类型比较:

queueingSystem.Priority === 1