JS 的核心語法

JS 的核心語法包括:語句、變量、標識符、註釋、區塊、條件語句、循環語句express

一. 語句

  • 語句(statement) 完成某種操做,通常不須要返回值bash

  • 表達式(expression) 一個爲了獲得返回值的計算式函數

  • 語句、表達式的區別 語句主要爲了進行某種操做通常不須要返回值 表達式是爲了獲得返回值且必定會返回一個值spa

  • JS 中預期爲值的地方均可用表達式,如賦值語句等號右邊預期是值,因此可放置各類表達式code

  • 若是想要將多個語句寫在一行,須要在每一個語句末尾加上 ;作用域

二. 變量

1. 變量的概念

  • 變量是對值的引用
  • var 關鍵字,是一個變量聲明命令,通知解釋引擎建立變量
  • 變量聲明、變量賦值是分開的兩個步驟,只聲明不賦值的變量值就是 undifiend
  • 變量未聲明直接使用會報錯,變量未定義:not defiend
  • 可一次聲明多個變量
  • JS 是一種動態類型語言,對變量類型沒有嚴格限制,因此變量可隨時更改類型
  • 二次聲明無效
  • 二次聲明賦值,會覆蓋以前的值
  • JS 中變量名區別大小寫

2. 變量提高

  • 只對 var 聲明的變量有效
  • JS 引擎工做方式:先解析代碼,獲取全部聲明變量,再一行行運行,全部變量的聲明語句會被提高到頭部

三. 標識符

  • 標識符是指用來識別各類值的合法名稱
  • 最多見的就是變量名以及函數名
  • 大小寫敏感
  • 第一個字符:Unicode字母(英文和其餘語言的字母)、$、_
  • 第二個字符及後面字符:第一個字符要求 + 0-9
  • 如 ***、a+b 都是不合法的
  • JS 保留字不能作標識符,好比 var、function 等

四. 註釋

  • 單行註釋:// 註釋
  • 多行註釋:/*****/
  • 注意: 後面語句不會執行
  • --> 只有在行首纔會當作單行註釋,不然會當作正常運算,如 n-->0,會被理解爲 n-- > 0

五. 區塊

  • 用 {} 將多個相關語句組合到一塊兒
  • 對於 var 命令,JS 的區塊不構成單獨做用域,即區塊內外變量屬於同一做用域

六. 條件語句

1. if 結構

  • 先判斷一個表達式布爾值,根據真僞執行不一樣語句
  • 布爾值每每由一個條件表達式產生,放在 () 中表示對錶達式求值
  • 雖然有各類省略的寫法,可是建議老是使用 {}
  • 表達式不要混淆 = 、== 、===,易犯錯誤就是寫成 =,那麼就變成了先賦值,而後判斷值的布爾值
  • 爲了不這種狀況,經常將常量寫在運算符左邊,由於常量不能被賦值

2. if...else 結構

  • else 代碼塊老是與離本身最近的那個 if 語句配對

3. switch 結構

  • 根據 switch 表達式的值選擇執行相應的 case,都不符合執行 default
  • 若是多個 if...else 連在一塊兒使用時建議替換使用 switch 結構
  • 注意不要忘記 break,不然會接着執行後面的 case 直到遇到 break
  • switch、case 兩部分均可用表達式,表達式比較會使用 ===,即不會發生強制類型轉換

4. 三元運算符

  • (condition)?expr1:expr2
  • condition 爲真則返回表達式 1 的值,不然返回表達式 2 的值,即整個語句是一個三元表達式,會返回一個值
  • 是 if...else 結構的簡寫形式

七. 循環語句

1. while 循環

  • 循環條件 + 代碼塊
  • 循環條件是一個表達式,放 () 中,返回值爲真則執行代碼塊
  • i++,即內部必定要限制循環結束的條件,不然會陷入死循環

2. for 循環

  • for(初始化表達式; 條件表達式; 遞增表達式){語句}
  • 初始化表達式肯定循環初始值,只在循環開始時執行一次
  • 每次循環開始,條件表達式檢查循環條件,爲真就繼續執行循環語句

3. do...while循環

  • 區別於 while 循環,是先運行一次循環體,再判斷循環條件
  • 無論條件是否爲真至少執行循環一次
  • while() 後的 ; 最好不要省略

4. break語句、continue語句

  • for/while/do...while 循環中都能用到
  • 都是起跳轉做用,讓代碼不按既有順序執行
  • break 用於跳出代碼塊或循環
  • continue 用於終止本輪循環,返回循環頭部執行下一輪循環
  • 多重循環中,不帶參數的 break 和 continue 只做用於最內層循環

5. 標籤(label)

label:
        語句
複製代碼
  • JS 語句前的標籤至關於定位符,用於跳轉任意位置
  • 標籤能夠是除保留字外的任意標識符,語句能夠是任意語句
  • break + 標籤,能夠直接跳出雙層循環(語句能夠是雙層循環、區塊)
  • continue + 標籤,能夠直接進入下一輪外層循環(語句能夠是外層循環)
相關文章
相關標籤/搜索