JavaScript 正則表達式 和 變量提升
語法
/正則表達式主體/修飾符(可選)
使用字符串方法
在 JavaScript 中,正則表達式通常用於兩個字符串方法 : search() 和 replace()。
search() 方法 用於檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字符串,並返回子串的起始位置。
replace() 方法 用於在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串。
正則表達式修飾符
修飾符 可以在全局搜索中不區分大小寫:
修飾符 | 描述 |
---|---|
i | 執行對大小寫不敏感的匹配。 |
g | 執行全局匹配(查找所有匹配而非在找到第一個匹配後停止)。 |
m | 執行多行匹配。 |
正則表達式模式
方括號用於查找某個範圍內的字符:
表達式 | 描述 |
---|---|
[abc] | 查找方括號之間的任何字符。 |
[0-9] | 查找任何從 0 至 9 的數字。 |
(x|y) | 查找任何以 | 分隔的選項。 |
元字符是擁有特殊含義的字符:
元字符 | 描述 |
---|---|
\d | 查找數字。 |
\s | 查找空白字符。 |
\b | 匹配單詞邊界。 |
\uxxxx | 查找以十六進制數 xxxx 規定的 Unicode 字符。 |
量詞:
量詞 | 描述 |
---|---|
n+ | 匹配任何包含至少一個 n 的字符串。 |
n* | 匹配任何包含零個或多個 n 的字符串。 |
n? | 匹配任何包含零個或一個 n 的字符串。 |
JavaScript 變量提升
JavaScript 中,函數及變量的聲明都將被提升到函數的最頂部。
JavaScript 中,變量可以在使用後聲明,也就是變量可以先使用再聲明。
JavaScript 初始化不會提升
在頭部聲明你的變量
對於大多數程序員來說並不知道 JavaScript 變量提升。
如果程序員不能很好的理解變量提升,他們寫的程序就容易出現一些問題。
爲了避免這些問題,通常我們在每個作用域開始前聲明這些變量,這也是正常的 JavaScript 解析步驟,易於我們理解。
JavaScript 嚴格模式(strict mode)不允許使用未聲明的變量。 在下一個章節中我們將會學習到 "嚴格模式(strict mode)" 。 |