是否有任何壓縮器負責移除不在應用程序中的任何位置調用的開關盒?使用JavaScript從開關盒中刪除死代碼
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);
如果以上所有我有,那麼理論上情況下0,2,3是死碼,將永遠不會執行。縮小代碼時,任何壓縮器是否具有刪除此代碼的智能?
我正在看一個在switch語句中有超過200,000個案例的代碼片段,因此也是一個問題。
感謝, -Vikrant
因爲你必須弄髒你的手與垃圾收集stuff.i會說..只是享受你的編碼 –
我不願意問,但是,200K案例陳述? WTF? –
編譯器無法知道底部的行是唯一可以調用函數的地方。稍後您可能會加載其他一些JS文件,並且可能會調用該函數,並使用不同的參數。 – Barmar