使用命令物件取代switch語句的寫法範例_javascript技巧
曾經有人說過,真正好的程式是沒有if..else的,當然switch還不如if..else。 JS規範裡面是禁止使用switch的。
命令物件(command object)就完美的解決了這個問題。
引用一篇國外的部落格提到的:
JavaScript 有著良好的控制流程語句,這些語句往往用花括號包裹著。不過有個例外:switch … case 語句。 switch … case 的奇怪之處在於你必須在每個 case 結尾加上關鍵字 break,以防止流程控制權穿越進入下一個 case 語句中。穿越是指讓多個 case 執行的手法,當未遇見預期的 break 時,控制權就會自動交給下一句 case 手中。然而,就如同分號與花括號一樣,你很有可能會在不經意之間忘了寫 break,當這發生時,後期的錯誤排查就比較痛苦,因為語句本身是沒錯的。因此,配對地寫 case … break 是個好習慣。
我們通常講,JavaScript 有著優雅的物件字面量與頂層函數,這些都使得特定的方法查詢變的非常簡單。為方法查詢所建立的對象,我們稱之為 活動對象(action object) 或 命令對象(command object),它被運用在許多軟體設計模式中,包括強大的而有用的命令模式。
實例:
// switch 方法
function testSwitch(name) {
switch (name) {
case '1':
return 'hack';
break;
case '2':
return 'slash';
break;
case '3':
return 'run';
break;
default:
return 稱為;
break;
}
}
// 使用指令物件
function testFn(name) {
var names = {
'1': function() {
return 'hack';
},
'2': function() {
return 'slash';
},
'3': function() {
return 'run';
}
};
if (typeof names[name] !== 'function') {
return false;
}
return names[name]();
}
// 測試結果
var result1 = testSwitch('1');
var result2 = testFn('2');
console.info(result1, result2);

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP中的條件控制結構在PHP程式設計中,條件控制結構是一種非常重要的語法,它可以讓程式根據不同的條件來執行不同的程式碼區塊。透過使用條件控制結構,我們可以實現程式的分支邏輯,根據條件的結果來決定程式的執行路徑。本文將介紹PHP中常用的條件控制結構,包括if語句、else語句、elseif語句和switch語句,並給出具體的程式碼範例。 if語句是PHP中最基本的條件控

很多用戶都非常的關注WiFi的發展,當WiFi7出來以後很多用戶都開始猜測WiFi7是否可以取代有線網絡,當然如果WiFi可以高速穩定地傳輸,那麼取代有線網絡也是正常的wifi7可以代替有線答:有望替代,但到底如何還要看正式投入使用的情況。 WiFi7要比上一代的WiFi6快出2倍左右,同時延遲還減了近半。如果真的可以有非常高速穩定的傳輸速度,那麼替代有線也是很正常的。 WiFi7介紹1、Wi-Fi7則比Wi-Fi6更快,業界將其定義為“802.11beEHT”,也就是極高吞吐量2、Wi-Fi7可以

switch是一個條件語句,用來計算條件表達式的值,判斷該值是否滿足case語句,如果符合則會執行對應的程式碼區塊。是用來取代複雜if-else語句的常用方式。

Switch語句是一種在程式設計中常用的控制結構,允許程式根據不同的條件值來執行不同的程式碼區塊,可以取代多個if-else語句,提高程式碼的可讀性和可維護性。雖然它有一些限制,但在適當的情況下,使用Switch語句可以使程式更加簡潔和有效率。

枚舉型別是Java中定義常數集合的資料型別。配合switch語句,可實現以下功能:清楚表示值範圍:枚舉類型用於定義一組不可變的常數值,並提高程式碼可讀性。符合不同枚舉常數:switch語句允許根據枚舉常數執行不同的操作,以實現精細化的控制。處理不同場景:透過枚舉類型和switch語句,可以在實際場景中靈活處理各種情況,例如不同的通知類型發送不同郵件內容。

switch語句用法:1、Switch語句只能用於整數類型,枚舉類型和String類型,不能用於浮點數類型和布林類型;2、每個case語句後面必須跟著一個break語句,以防止執行其他case的程式碼區塊,沒有break語句,將會繼續執行下一個case的程式碼區塊;3、可以在一個case語句中匹配多個值,使用逗號分隔;4、Switch語句中的default程式碼區塊是可選的等等。

Go語言是一種新興的程式語言,它具有高效、簡潔、安全和並發等特點,非常適合用於Web開發、分散式系統和雲端運算等領域。在Go語言中,switch語句是一種非常常用的語言結構,它可以根據表達式的值,選擇不同的分支來執行。本文將介紹Go語言中switch語句的基本使用方法與注意事項。基本語法Go語言中的switch語句與其他程式語言中的

Java10中的局部變數類型推斷:如何在switch語句中使用finalvar關鍵字隨著Java語言的不斷發展,每個新版本都會引入一些新的功能和改進。在Java10中,其中一個重要的新特性是局部變數類型推論。這個特性使得開發人員可以使用var關鍵字來取代明確的類型聲明,從而使程式碼更加精簡和易讀。本文將探討如何在switch語句中使用finalvar關
