switch語(yǔ)句的妙用(必看篇)
switch語(yǔ)句的普通用法很簡(jiǎn)單,如下:
var a = 3;
switch (a) {
case 1:
console.log(a);
break;
case 2:
case 3:
console.log(a);
break;
default:
break;
}
這里a和case列表中從上而下逐一做比較,如果匹配就執(zhí)行case中的代碼,若有break則跳出,無(wú)break則繼續(xù)往下匹配,直到新的匹配和break或switch代碼塊結(jié)束。
注意:
a和case值的匹配算法是執(zhí)行嚴(yán)格相等比較的(‘==='),通常a和case的值都是簡(jiǎn)單值。
case的值除了簡(jiǎn)單值之外,還可以是各種表達(dá)式,switch (a){...}中的a會(huì)和case中的表達(dá)式的結(jié)果值進(jìn)行比較(“===”),由此,我們可以這樣:
var a = [4], b = '3';
function foo(a, b) {
return Math.abs(a - b) < 2;
}
switch (true) {
case !(a && b): //過(guò)濾掉a,b其中有為‘假值'的情況
console.log('a:'+a,' b:'+b);
break;
case foo(a,b): //當(dāng)a,b的差值在2以內(nèi),foo函數(shù)返回true
console.log('a - b < '+Math.abs(a-b));
case a == b:
console.log(a+'=='+b);
break;
case a < b:
console.log(a+'<'+b);
break;
case a > b:
console.log(a+'>'+b);
break;
default:
break;
}
以上例子中,true和每個(gè)case的表達(dá)式的值進(jìn)行嚴(yán)格相等比較,當(dāng)且僅當(dāng)case表達(dá)式的值為布爾值true時(shí)才匹配,任何其他真值都不匹配。
注意:case !(a && b): 必須把&&、||運(yùn)算符的結(jié)果進(jìn)行顯示轉(zhuǎn)換為布爾值,才能匹配(因?yàn)?amp;&、||的表達(dá)式的返回值不是布爾類型,它返回的是表達(dá)式中第一個(gè)為true、或第一個(gè)為false的那個(gè)值)
所以,只要你想得到的,只要符合規(guī)則,都能用switch實(shí)現(xiàn)!就是不知道這樣寫的代碼好不好了!
以上就是小編為大家?guī)?lái)的switch語(yǔ)句的妙用(必看篇)全部?jī)?nèi)容了,希望大家多多支持腳本之家~
- javascript中if和switch,==和===詳解
- JavaScript中switch語(yǔ)句的用法詳解
- javascript的switch用法注意事項(xiàng)分析
- Javascript基礎(chǔ)教程之switch語(yǔ)句
- JavaScript中switch判斷容易犯錯(cuò)的一個(gè)細(xì)節(jié)
- js中switch case循環(huán)實(shí)例代碼
- js switch case default 的用法示例介紹
- js 中的switch表達(dá)式使用示例
- javascript 從if else 到 switch case 再到抽象
- JavaScript Switch 聲明
相關(guān)文章
JS中實(shí)現(xiàn)函數(shù)return多個(gè)返回值的實(shí)例
下面小編就為大家?guī)?lái)一篇JS中實(shí)現(xiàn)函數(shù)return多個(gè)返回值的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
js自動(dòng)生成的元素與頁(yè)面原有元素發(fā)生堆疊的解決方法
商品屬性和商品規(guī)格是js動(dòng)態(tài)生成的元素,商品擴(kuò)展信息的兩個(gè)文本框是原有的元素,他們發(fā)生堆疊,下面是一些解決思路2014-09-09
javascript創(chuàng)建createXmlHttpRequest對(duì)象示例代碼
這篇文章主要介紹了javascript創(chuàng)建createXmlHttpRequest對(duì)象的示例代碼。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-02-02
javascript設(shè)置連續(xù)兩次點(diǎn)擊按鈕時(shí)間間隔的方法
這篇文章主要介紹了javascript設(shè)置連續(xù)兩次點(diǎn)擊按鈕時(shí)間間隔的方法,是非常實(shí)用的技巧,需要的朋友可以參考下2014-10-10
fckeditor部署到weblogic出現(xiàn)xml無(wú)法讀取及樣式不能顯示問(wèn)題的解決方法
這篇文章主要介紹了fckeditor部署到weblogic出現(xiàn)xml無(wú)法讀取及樣式不能顯示問(wèn)題的解決方法,分析了問(wèn)題出現(xiàn)的原因及相關(guān)配置文件設(shè)置技巧,需要的朋友可以參考下2017-03-03
多選列表框動(dòng)態(tài)添加,移動(dòng),刪除,全選等操作的簡(jiǎn)單實(shí)例
本篇文章主要是對(duì)多選列表框動(dòng)態(tài)添加,移動(dòng),刪除,全選等操作的簡(jiǎn)單實(shí)例進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-01-01
JavaScript中顏色模型的基礎(chǔ)知識(shí)與應(yīng)用詳解
顏色模型,是用來(lái)表示顏色的數(shù)學(xué)模型。比如最常見(jiàn)的?RGB模型,使用?紅綠藍(lán)?三色來(lái)表示顏色。本文就來(lái)和大家講講JavaScript中顏色模型的基礎(chǔ)知識(shí)與應(yīng)用吧2023-02-02

