目錄
一、if 語句
二、do...while 語句
三、while 語句
四、for 語句
五、for...in 語句
六、label 語句
七、break 和 continue 語句
八、with 語句
九、switch 語句
if (i > 10) else if (i < 0) else
var i = 0;
do while (i < 10);
console.log(i); // 10
var i = 0;
while (i < 10) ;
console.log(i); // 9
let arr = [1,2,3,4,5,6]
for(let i = 0; i < arr.length; i++)
在 for 迴圈語句中,設定迴圈變數的那部分是乙個父作用域,而迴圈體內部是乙個單獨的子作用域。
for (let i = 0; i < 3; i++)
// abc
// abc
// abc
for 迴圈中作用域的問題:
var a = ;
for (var i = 0; i < 10; i++) ;
}console.log(a[0]()); // 10
上面**中,變數 i 是 var命令宣告的,在全域性範圍內都有效,所以全域性只有乙個變數 i。每一次迴圈,變數 i 的值都會發生改變,而迴圈內被賦給陣列 a 的函式內部的 console.log(i),裡面的 i指向的就是全域性的 i。也就是說,所有陣列 a 的成員裡面的 i,指向的都是同乙個 i,導致執行時輸出的是最後一輪的 i 的值,也就是 10。而使用 let 宣告變數會形成塊級作用域,該變數僅在 let 塊級作用域內有效,這樣就能避免這一問題了。
var a = ;
for (let i = 0; i < 10; i++) ;
}console.log(a[0]()); // 0
for...in 語句是一種精準的 迭代 語句,可以用來 列舉 物件的屬性。
注意:如果物件是null,或者undefined,for...in 語句會報錯,所以使用時要先檢查一下物件的值是不是null或undefined。
let obj =
if(obj)
}
了解:
break 語句會立即退出迴圈,強制繼續執行迴圈後面的語句。
continue 語句會立即退出迴圈,但會從迴圈的頂部繼續執行。
// break
let num = 0;
for (let i = 0; i < 10; i++)
num++;
}console.log(num); // 4
// continue
let num = 0;
for (let i = 0; i < 10; i++)
num++;
}console.log(num); // 8
弊端:耗效能。
了解:
switch(expression)
JS的九大事件相容
事件相容var target e.target e.srcelement 2.獲取事件 document.onclick function evt 3.獲取所按下按鍵的asc碼值var key e.keycode e.which e.charcode 4.阻止事件冒泡 e.stoppropagati...
JS 條件語句 迴圈語句 js操作
弱型別語言,指令碼語言,解釋性語言,基於物件和事件驅動 簡單性,安全性,動態性,跨平台性 ecmascript.dom,bomtype srcasync alert document.write var name 字串型別 string 數字型別 number 布林型別 boolean true,f...
JS程式三大結構及語法語句
一 程式的三大結構 順序結構 從上到下,從左到右依次執行每一條語句 選擇結構 根據條件判斷選擇要執行的語句,出口只有乙個 迴圈結構 滿足一定條件,重複執行一段 二 選擇結構 1.三元運算子 2.if語句 3.switch語句 三 if語句 1.單分支語句 格式 if 表示式 elseelse if ...