1. 程式人生 > 資訊 >蘋果股價連漲 7 日收盤再創紀錄:市值 2.4 萬億美元

蘋果股價連漲 7 日收盤再創紀錄:市值 2.4 萬億美元

1.變數提升

//最後的結果是顯示undefined,表示變數a已宣告,但還未賦值。
console.log(a);
var a = 1;

//等同於
var a;
console.log(a);
a = 1;

2.區塊

JavaScript 使用大括號,將多個相關的語句組合在一起,稱為“區塊”(block)。

對於var命令來說,JavaScript 的區塊不構成單獨的作用域(scope)。

//區塊對於var命令不構成單獨的作用域,與不使用區塊的情況沒有任何區別。
{
  var a = 1;
}
a // 1

3.break語句和continue語句

break語句用於跳出程式碼塊或迴圈。

continue語句用於立即終止本輪迴圈,返回迴圈結構的頭部,開始下一輪迴圈。

如果存在多重迴圈,不帶引數的break語句和continue語句都只針對最內層迴圈。

4.標籤(label)

JavaScript 語言允許,語句的前面有標籤(label),相當於定位符,用於跳轉到程式的任意位置,標籤的格式如下。

label:
  語句

標籤通常與break語句和continue語句配合使用,跳出特定的迴圈。

top:
  for (var i = 0; i < 3; i++){
    for (var j = 0; j < 3; j++){
      if (i === 1 && j === 1) break
top; console.log('i=' + i + ', j=' + j); } } // i=0, j=0 // i=0, j=1 // i=0, j=2 // i=1, j=0

上面程式碼為一個雙重迴圈區塊,break命令後面加上了top標籤(注意,top不用加引號),滿足條件時,直接跳出雙層迴圈。如果break語句後面不使用標籤,則只能跳出內層迴圈,進入下一次的外層迴圈。

標籤也可以用於跳出程式碼塊。

foo: {
  console.log(1);
  break foo;
  console.log('本行不會輸出');
}
console.log(2);
// 1
// 2

上面程式碼執行到break foo

,就會跳出區塊。

continue語句也可以與標籤配合使用。

top:
  for (var i = 0; i < 3; i++){
    for (var j = 0; j < 3; j++){
      if (i === 1 && j === 1) continue top;
      console.log('i=' + i + ', j=' + j);
    }
  }
// i=0, j=0
// i=0, j=1
// i=0, j=2
// i=1, j=0
// i=2, j=0
// i=2, j=1
// i=2, j=2

上面程式碼中,continue命令後面有一個標籤名,滿足條件時,會跳過當前迴圈,直接進入下一輪外層迴圈。如果continue語句後面不使用標籤,則只能進入下一輪的內層迴圈。