JavaScript 隨筆
阿新 • • 發佈:2018-10-05
情況 false const 條件 是否 十六 es6 十六進制 設計
== 與 ===
==
比較,它會自動轉換數據類型再比較,很多時候,會得到非常詭異的結果;
===
比較,它不會自動轉換數據類型,如果數據類型不一致,返回false
,如果一致,再比較由於JavaScript這個設計缺陷,最好不要使用
==
比較,始終堅持使用===
比較。
NaN
NaN
這個特殊的Number與所有其他值都不相等,包括它自己:NaN === NaN; // false
唯一能判斷
NaN
的方法是通過isNaN()
函數:
isNaN(NaN); // true
null和undefined
null
表示一個“空”的值,它和0
以及空字符串‘‘
不同,0
是一個數值,‘‘
表示長度為0的字符串,而null
表示“空”。
undefined
,它表示“未定義”。JavaScript的設計者希望用null
表示一個空的值,而undefined
表示值未定義。事實證明,這並沒有什麽卵用,區分兩者的意義不大。大多數情況下,我們都應該用null
。undefined
僅僅在判斷函數參數是否傳遞的情況下有用。
轉義字符
轉義字符
\
可以轉義很多字符,比如\n
表示換行,\t
表示制表符,字符\
本身也要轉義,所以\\
表示的字符就是\
。ASCII字符可以以
\x##
形式的十六進制表示
多行字符串
由於多行字符串用
\n
寫起來比較費事,所以最新的ES6標準新增了一種多行字符串的表示方法,用反引號 ` · ` 表示,反引號在鍵盤的ESC下方,數字鍵1的左邊。
連接字符串
var name = ‘小明‘; var age = 20; var message = ‘你好, ‘ + name + ‘, 你今年‘ + age + ‘歲了!‘;
也可以:
var message = `你好, ${name}, 你今年${age}歲了!`;
- JavaScript把
null
、undefined
、0
、NaN
和空字符串‘‘
視為false
,其他值一概視為true
,因此上述代碼條件判斷的結果是true
。
JavaScript 隨筆