03. JavaScript基礎(chǔ)——語句

if語句

  1. 語法格式:if (condition) statements else statements
  2. 注意:括號中的判斷條件可以是任何表達式,求值結(jié)果不一定是布爾值,ECMAScript會自動調(diào)用Boolean()和你熟將它轉(zhuǎn)成布爾值

do-while語句

  1. 后測試循環(huán)語句,循環(huán)體中的代碼執(zhí)行后才會對退出條件進行求值,所以循環(huán)體內(nèi)的代碼至少執(zhí)行一次

  2. 例子

    let i=0;
    do{
        i+=2;
    } while(i<10);
    

while語句

  1. 先測試循環(huán)語句,先檢測退出條件,然后再執(zhí)行循環(huán)體的代碼,所以循環(huán)體內(nèi)的代碼可能不會被執(zhí)行

for語句

  1. 先測試語句

  2. 例子

    let count = 0;
    for(let i=0;i< count; i++){ // 小括號里分別是初始化;條件表達式;循環(huán)后表達式
        console.log(i);
    }
    
  3. 初始化,條件表達式,循環(huán)后表達式都可以省略,所以可以寫一個無窮循環(huán)

    for (; ; ){
        statements;
    }
    
  4. 如果只寫了條件表達式,省略另外兩個,那么for循環(huán)就變成了while循環(huán)

    let count = 10;
    for(;i< count;){
        console.log(i);
        i++;
    }
    

for-in語句

  1. 一種嚴格的迭代語句,用于枚舉對象中的非符號鍵屬性

  2. 語法格式:for(property in expression) statement

  3. 例子

    for (const i in window){
        document.write(i);
    }
    
    • 打印出BOM對象window的所有屬性
    • 所有可枚舉的屬性都會返回出來,但是順序不一樣
  4. 如果要迭代的變量是null或undefined,就不執(zhí)行循環(huán)體

for-of語句

  1. 一種嚴格的迭代語句,用于遍歷可迭代對象的元素

  2. 語法格式:for(property of expression) statement

  3. 例子

    for (const i of [2,4,6,8]){
        document.write(i);
    }
    
  4. for-of循環(huán)會按照可迭代對象的next()方法產(chǎn)生值的順序迭代元素,如果嘗試迭代的變量不支持迭代,那么就報錯

標(biāo)簽語句

  1. 給指定的語句加上標(biāo)簽,可以通過break或continue引用,主要用在嵌套循環(huán)中

  2. 語法格式:label: statement

  3. 例子

    start:for(let i=0;i<10;i++){
        console.log(i);
    }
    

break和continue

  1. break語句用于立即退出循環(huán)

  2. continue語句用于立即退出當(dāng)次循環(huán)

  3. break語句和標(biāo)簽語句一起使用

    let n = 0;
    outer:for (let i = 0; i < 10; i++) {
        for (let j = 0; j < 10; j++) {
            if (i === 5 && j === 5) {
                break outer;
            }
            n++;
        }
    }
    
    console.log(n); // 最后輸出結(jié)果是55
    

with語句

  1. 用于將代碼作用域設(shè)置為特定的對象

  2. 語法格式:with(expressin) statement;

  3. 當(dāng)需要對一個對象反復(fù)操作的時候,可以用with語句

    let a = location.search.substring(1);
    let b = location.hostname;
    let c = location.href;
    
    // 上面代碼中,每一行都用到了location,那么可以改成下面的代碼
    with(location){
        let a = search.substring(1);
        let b = hostname;
        let c = href;
    }
    
  4. 嚴格模式下不允許使用with語句

switch語句

  1. switch語句借鑒了其他語言的switch語句,但是ECMAScript給它賦予了獨有的特性

    1. switch語句可以用于所有數(shù)據(jù)類型
    2. 條件的值不需要是常量,可以是變量或表達式
  2. 例子

    switch ("hello world") {
        case "hello" + " world":
            console.log("打個招呼");
            break;  // break用來跳出switch循環(huán),不寫break那么每個條件都會去判斷
        case "goodbye":
            console.log("再見");
            break
        default:
            console.log("這是默認消息");
    }
    
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容