關於JS中switch和if進行多路判斷的一些討論
昨天給一個學生改js作業是發現一個很有意思的細節, 就是關於多路判斷是用switch還是if, 這裡把相關的調查總結一下.
MDN中文版裡:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/switch
把這個方法定義成了一個 "hacky"
但是在MDN英文版裡:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch
關於這個的hacky的描述被刪除了
估計這應該是一個爭議的用法,不支援不反對, 所以就沒寫了
有趣的是日本人關於這個用法也做了一個調查:
http://qiita.com/t_uda/items/1969e09a970d71e4cfd6
裡面有些觀點也挺有意思的,拿翻譯工具翻譯了一下, 基本的兩個觀點就是 是, 表意優先 還是, 便利優先
關於這個的英文討論也有, 不過有些短
http://codereview.stackexchange.com/questions/37424/switch-true-as-alternative-to-else-if
還有一個關於switch "有害"的觀點:
http://ericleads.com/2012/12/switch-case-considered-harmful/
相關測試:
http://jsperf.com/if-else-chain-vs-switch-true
原文地址:
http://samael65535.github.io/javascript/2016/06/19/javascript-switch-vs-js/
相關文章
- 關於js的判斷JS
- 關於PHP中的警告資訊和session的一些討論PHPSession
- js函式中的if判斷和a==b判斷JS函式
- 關於ora_pz程式的一些討論
- 關於rails和Grails的效能討論AI
- JS 寫邏輯判斷,不要只知道用 if-else 和 switchJS
- 關於oracle SCN 的討論Oracle
- 關於使用tomcat/jboss開源軟體進行cluster的方案討論Tomcat
- [技術討論]關於低耦合開發的討論
- js中的型別判斷JS型別
- 關於jive開發論壇的一些討論-winCVS安裝(整理)
- 記一次關於js陣列型別判斷及js型別判斷的細節探索JS陣列型別
- 關於大資料和資料庫的討論大資料資料庫
- 關於拉幕程式的討論和原始碼 (轉)原始碼
- Java 判斷語句 - if…else/switchJava
- 關於aio的設定的討論AI
- 關於部落格評論外掛的討論
- js資料型別判斷和陣列判斷JS資料型別陣列
- 關於 Service Worker 和 Web 應用對應關係的討論Web
- 關於神經網路的討論神經網路
- 關於HTTP中文翻譯的討論HTTP
- 關於業務元件相關架構的討論元件架構
- js基礎-12-判斷陣列和判斷物件的方法JS陣列物件
- 有關oracle高可靠性的一些討論和想法(5)Oracle
- 有關oracle高可靠性的一些討論和想法(1)Oracle
- 有關oracle高可靠性的一些討論和想法(2)Oracle
- 有關oracle高可靠性的一些討論和想法(3)Oracle
- 關於 performSelector 的一些小探討performSelector
- JS的判斷語句:判斷、迴圈JS
- 關於JS更新input元素的value屬性引發的狗血討論JS
- 討論關於Constraint statesAI
- 專案需求討論-擺脫EditText內容規則的枯燥判斷
- 關於UI的一次討論——來自專案管理群的討論UI專案管理
- 關於一個建立型模式的討論:模式
- 關於string.Empty & "" & null 的討論Null
- 關於專案經理的討論 (轉)
- js中 &&與和||或運算子用作判斷語句JS
- 關於 js 物件 轉 字串 和 深拷貝 的 探討JS物件字串