代码之家  ›  专栏  ›  技术社区  ›  dta

为什么在switch语句中typeof null的行为不正确?

  •  3
  • dta  · 技术社区  · 14 年前

    众所周知

    typeof null
    

    返回“object”。

    但是,我有一段代码如下所示:

    switch(typeof null){
        case "object": 
            1; 
        default: 
            3;
    }
    

    此代码返回3。

    为什么typeof null返回的“object”不会导致case语句的第一个分支被执行?

    1 回复  |  直到 14 年前
        1
  •  9
  •   Amarghosh    14 年前

    你失踪了 break 对于第一个案例-所以它可以归结为 default case并返回3。

    switch(typeof null){
        case "object": 
            1; 
            break;
        default: 
            3;
    }