JavaScript語句

JavaScript語句.png

條件語句

if語句

switch語句

switch 在比較值時,使用的是全等操做符 === ,所以不會發生類型轉換
switch的判斷條件 expression 能夠是 StringNumberBooleanchar枚舉nullundefined
switch (expression) {
  case value1:
  // 代碼塊
  break;
  case value2:
  // 代碼塊
  ...
  
  default 
  // 代碼塊
}

迭代語句

while語句

do-while語句

for語句

for-in 語句

用來枚舉對象的屬性,枚舉順序不可預測
  1. 通常用於遍歷對象的可枚舉屬性。
  2. 遍歷數組索引

for-in、Object.keys 和 Object.getOwnPropertyNames 對屬性遍歷有什麼區別?html

  • for-in 會遍歷自身及原型鏈上的可枚舉屬性,能夠使用hasOwnProperty()方法過濾掉原型鏈上的可枚舉屬性
  • Object.keys 會將對象自身的可枚舉屬性的 key 輸出
  • Object.getOwnPropertyNames 返回一個由指定對象的全部自身屬性的屬性名(包括不可枚舉屬性但不會獲取原型鏈上的屬性。)組成的數組。

for-of語句(ES6)

  1. for-of適用遍歷數/數組對象/字符串/map/set等擁有迭代器對象的集合.可是不能遍歷對象
  2. 遍歷數組元素值

其餘語句

break和continue語句

  1. break 跳出當前循環且再也不執行當前循環;continue 跳出當前循環進行下一次循環。
  2. break 若在switch 語句中,僅僅跳出當前所在switch 語句。

label語句

能夠在代碼中添加標籤,以便未來使用。
應用場景:在嵌套循環中熟練應用 break, continue 與 Label 能夠精確的返回到你想要的程序的位置。express

let count = 0;
for (let i = 0; i < 3; i++) {
    for (let j = 0; j < 3; j++) {
        if (i === 1 && j === 1) {
            break;
        }
        count++;
    }
}
console.log(count); // 7
//i = 0;i = 0 1 2
//j = 1;i = 0 1
//j = 2;i = 1 2
let count = 0;
outBreak:
    for (let i = 0; i < 3; i++) {
        for (let j = 0; j < 3; j++) {
            if (i === 1 && j === 1) {
                break outBreak;
            }
            count++;
        }
    }
console.log(count); //4

with語句

將代碼的做用域設置到一個特定的對象中。主要目的是爲了簡化屢次編寫對同一個對象的操做。
嚴格模式下不容許使用 with 語句。
with會延長做用域。
大量使用 with 語句會形成程序性能降低。segmentfault

let obj = {
    a: 123,
    b: 456,
};
let a = 2;
with (obj) {
    console.log(a);//123
}
let obj = {
    a: 123,
    b: 456,
};
console.log(obj.a);
console.log(obj.b);

//用 with 簡化
with (obj) {
    console.log(a);
    console.log(b);
}

debugger 語句

用來產生一個斷點,代碼的執行會停在斷點的位置,這時使用調試器來輸出變量的值。數組

參考文章:https://segmentfault.com/a/11...性能

相關文章
相關標籤/搜索