欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

switch語(yǔ)句的妙用(必看篇)

 更新時(shí)間:2016年10月03日 11:49:50   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇switch語(yǔ)句的妙用(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

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以?xún)?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á)式的返回值不是布爾類(lèi)型,它返回的是表達(dá)式中第一個(gè)為true、或第一個(gè)為false的那個(gè)值)

所以,只要你想得到的,只要符合規(guī)則,都能用switch實(shí)現(xiàn)!就是不知道這樣寫(xiě)的代碼好不好了!

以上就是小編為大家?guī)?lái)的switch語(yǔ)句的妙用(必看篇)全部?jī)?nèi)容了,希望大家多多支持腳本之家~

相關(guān)文章

最新評(píng)論