JavaScript 隨筆

== 與 ===

==比較,它會自動轉換數據類型再比較,不少時候,會獲得很是詭異的結果;javascript

===比較,它不會自動轉換數據類型,若是數據類型不一致,返回false,若是一致,再比較java

因爲JavaScript這個設計缺陷,最好不要使用==比較,始終堅持使用===比較。ruby

NaN

NaN這個特殊的Number與全部其餘值都不相等,包括它本身:函數

NaN === NaN; // falsespa

惟一能判斷NaN的方法是經過isNaN()函數:設計

isNaN(NaN); // truecode

null和undefined

null表示一個「空」的值,它和0以及空字符串''不一樣,0是一個數值,''表示長度爲0的字符串,而null表示「空」。regexp

undefined,它表示「未定義」。JavaScript的設計者但願用null表示一個空的值,而undefined表示值未定義。事實證實,這並無什麼卵用,區分二者的意義不大。大多數狀況下,咱們都應該用nullundefined僅僅在判斷函數參數是否傳遞的狀況下有用。ip

轉義字符 

轉義字符\能夠轉義不少字符,好比\n表示換行,\t表示製表符,字符\自己也要轉義,因此\\表示的字符就是\字符串

ASCII字符能夠以\x##形式的十六進制表示

多行字符串

因爲多行字符串用\n寫起來比較費事,因此最新的ES6標準新增了一種多行字符串的表示方法,用反引號 ` · ` 表示,反引號在鍵盤的ESC下方,數字鍵1的左邊。

 鏈接字符串

var name = '小明'; var age = 20; var message = '你好, ' + name + ', 你今年' + age + '歲了!';
也能夠:
var message = `你好, ${name}, 你今年${age}歲了!`;

 

  • JavaScript把nullundefined0NaN和空字符串''視爲false,其餘值一律視爲true,所以上述代碼條件判斷的結果是true
相關文章
相關標籤/搜索