从JavaScript中切换案例中删除死代码

v2b*_*v2b 8 javascript performance yui-compressor google-closure-compiler

是否有任何压缩机负责移除在应用程序中无法调用的开关盒?

function execute_case(id) {
    switch(id) {
    case 0:
       console.log("0");
       break;
    case 1:
       console.log("1");
       break;
    case 2:
       console.log("2");
       break;
    case 3:
       console.log("3");
       break;
    default:
       console.log("default");
       break;
    }
}

execute_case(1);
Run Code Online (Sandbox Code Playgroud)

如果以上就是我所拥有的,那么理论上情况0,2,3就是死代码并且永远不会被执行.在缩小代码时,是否有任何压缩器具有删除此代码的智能?

我正在看一段代码,它在一个switch语句中有超过200,000个案例,因此问题.

谢谢,-Vikrant

nat*_*ing 3

不,先生,

由于id它是一个变量,任何压缩器都不会“知道”这不会发生。压缩器不会分析 switch 语句中的变量值,也不知道如何删除它们。

如果你“知道”这些情况不会发生,那就自己删除它们吧。