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 + 標籤,能夠直接進入下一輪外層循環(語句能夠是外層循環)