摘要:語(yǔ)句評(píng)估一個(gè)表達(dá)式,將表達(dá)式的值與子句匹配,并執(zhí)行與該情況相關(guān)聯(lián)的語(yǔ)句。若沒(méi)有子句,程序?qū)⒗^續(xù)執(zhí)行直到結(jié)束??蛇x的語(yǔ)句確保程序立即從相關(guān)的子句中跳出并接著執(zhí)行之后的語(yǔ)句。
switch 語(yǔ)句評(píng)估一個(gè)表達(dá)式,將表達(dá)式的值與case子句匹配,并執(zhí)行與該情況相關(guān)聯(lián)的語(yǔ)句。
語(yǔ)法節(jié)
switch (expression) { case value1: // 當(dāng) expression 的結(jié)果與 value1 匹配時(shí),執(zhí)行此處語(yǔ)句 [break;] case value2: // 當(dāng) expression 的結(jié)果與 value2 匹配時(shí),執(zhí)行此處語(yǔ)句 [break;] ... case valueN: // 當(dāng) expression 的結(jié)果與 valueN 匹配時(shí),執(zhí)行此處語(yǔ)句 [break;] [default: // 如果 expression 與上面的 value 值都不匹配時(shí),執(zhí)行此處語(yǔ)句 [break;]] }
expression
一個(gè)用來(lái)與 case 子語(yǔ)句匹配的表達(dá)式。
case valueN 可選
用于匹配 expression 的 case 子句。如果 expression 與給定的 valueN 相匹配,則執(zhí)行該 case 子句中的語(yǔ)句直到該 switch 語(yǔ)句結(jié)束或遇到一個(gè) break 。
default 可選
一個(gè) default 子句;如果給定,這條子句會(huì)在 expression 的值與任一 case 語(yǔ)句均不匹配時(shí)執(zhí)行。
描述節(jié)
一個(gè) switch 語(yǔ)句首先會(huì)計(jì)算其 expression 。然后,它將從第一個(gè) case 子句開(kāi)始直到尋找到一個(gè)其表達(dá)式值與所輸入的 expression 的值所相等的子句(使用 嚴(yán)格運(yùn)算符,===)并將控制權(quán)轉(zhuǎn)給該子句,執(zhí)行相關(guān)語(yǔ)句。(如果多個(gè) case 與提供的值匹配,則選擇匹配的第一個(gè) case,即使這些 case 彼此間并不相等。)如果沒(méi)有 case 子句相匹配,程序則會(huì)尋找那個(gè)可選的 default 子句,如果找到了,將控制權(quán)交給它,執(zhí)行相關(guān)語(yǔ)句。若沒(méi)有 default 子句,程序?qū)⒗^續(xù)執(zhí)行直到 switch 結(jié)束。按照慣例,default 子句是最后一個(gè)子句,不過(guò)也不需要這樣做。
可選的 break 語(yǔ)句確保程序立即從相關(guān)的 case 子句中跳出 switch 并接著執(zhí)行 switch 之后的語(yǔ)句。若 break 被省略,程序會(huì)繼續(xù)執(zhí)行 switch 語(yǔ)句中的下一條語(yǔ)句。
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/switch
說(shuō)一千道一萬(wàn),
其實(shí)還是從上到下依次跟每一個(gè)case比較,如果匹配上就執(zhí)行,并且依次執(zhí)行,除非遇到break
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/106662.html
摘要:原文發(fā)自我的博客易企秀招聘啦首先我們先來(lái)回顧以下中出現(xiàn)的原型繼承原型繼承自如果我們要在上查詢一個(gè)定義在的屬性會(huì)先在上查找如果沒(méi)有查到那么會(huì)順著原型鏈去查找所以以下判別式均為如果我們做如下操作原型鏈并沒(méi)有被訪問(wèn)一個(gè)新的會(huì)被加入到的屬性中去新的 原文發(fā)自我的博客 xiaoyu2er.github.io 易企秀招聘啦! JavaScript Prototypal Inheritance 首先...
摘要:函數(shù)式編程一開(kāi)始我并不理解。漸漸地,我熟練掌握了使用函數(shù)式的方法去編程。但是自從學(xué)習(xí)了函數(shù)式編程,我將循環(huán)都改成了使用和來(lái)實(shí)現(xiàn)。只有數(shù)據(jù)和函數(shù),而且因?yàn)楹瘮?shù)沒(méi)有和對(duì)象綁定,更加容易復(fù)用。在函數(shù)式的中,這些問(wèn)題不復(fù)存在。 譯者按: 當(dāng)從業(yè)20的JavaScript老司機(jī)學(xué)會(huì)函數(shù)式編程時(shí),他扔掉了90%的特性,也不用面向?qū)ο罅?,最后發(fā)現(xiàn)了真愛(ài)?。。?! 原文: How I rediscov...
摘要:設(shè)計(jì)模式工廠模式最近閱讀了幾本設(shè)計(jì)模式方面的書籍學(xué)習(xí)之余整理下來(lái)方便以后的歸納和梳理設(shè)計(jì)模式工廠模式創(chuàng)造工廠模式是一種創(chuàng)建性模式也就是一種創(chuàng)建對(duì)象的最佳實(shí)踐首先我們需要理解為什么我們需要工廠模式想象一個(gè)場(chǎng)景如果你要求去買一些東西板燒雞腿 Javascript設(shè)計(jì)模式-工廠模式 最近閱讀了幾本設(shè)計(jì)模式方面的書籍,學(xué)習(xí)之余整理下來(lái),方便以后的歸納和梳理 設(shè)計(jì)模式-工廠模式 創(chuàng)造工廠模式是一...
摘要:也就是說(shuō)避免屬性查找或其他的操作。簡(jiǎn)化循環(huán)體循環(huán)體是執(zhí)行最多的,所以要確保其被最大限度地優(yōu)化。代碼組織組織代碼要考慮到可維護(hù)性并不一定是傳送給瀏覽器的最好方式。 最佳實(shí)踐 可維護(hù)性 什么是可維護(hù)性的代碼 如果說(shuō)代碼是可維護(hù)的,它需要遵循以下特點(diǎn) 可理解性——其他人可以接手代碼并理解它的意圖和一般途徑,而無(wú)需原開(kāi)發(fā)人員的完整解釋。 直觀性——代碼中的東西一看就能明白,不管其操作過(guò)程多...
摘要:訪問(wèn)全局對(duì)象在瀏覽器中,全局對(duì)象可以通過(guò)屬性在代碼的任何位置訪問(wèn)除非你做了些比較出格的事情,像是聲明了一個(gè)名為的局部變量。 前言 才華橫溢的Stoyan Stefanov,在他寫的由O’Reilly初版的新書《JavaScript Patterns》(JavaScript模式)中,我想要是為我們的讀者貢獻(xiàn)其摘要,那會(huì)是件很美妙的事情。具體一點(diǎn)就是編寫高質(zhì)量JavaScript的一些要素...
閱讀 2910·2021-10-08 10:12
閱讀 4015·2021-09-22 15:45
閱讀 2593·2019-08-30 15:52
閱讀 2662·2019-08-29 18:44
閱讀 2677·2019-08-29 12:37
閱讀 1194·2019-08-26 13:36
閱讀 2594·2019-08-26 13:34
閱讀 1510·2019-08-26 12:20