0、JavaScript的簡單數據類型包括數字、字元創、布爾值(true/false)、null和undefined值,其它值都是對象。 1、JavaScript只有一個數字類型,它在內部被表示為64位的浮點數。沒有分離出整數,所以1和1.0的值相同。 ...
0、JavaScript的簡單數據類型包括數字、字元創、布爾值(true/false)、null和undefined值,其它值都是對象。
1、JavaScript只有一個數字類型,它在內部被表示為64位的浮點數。沒有分離出整數,所以1和1.0的值相同。
2、NaN是一個數值,表示一個不能產生正常結果的運算結果。NaN不等於任何值,包括它本身。可以用函數isNaN(number)檢測NaN,但是建議用isFinite()來檢測某值是否是數字。
- typeof NaN === ‘number’ //true
- NaN === NaN //false
- NaN !== NaN //true
- isNaN(0) isNaN(‘0′) //false
- isNaN(NaN) isNaN(‘oops’) //true
- 原文:http://www.linzenews.com/program/web/2485.html
3、JavaScript沒有字元類型。要表示字元,只需創建僅包含一個字元的字元串即可,一旦被創建,就是不可變的。在被創建的時候,Unicode是一個16位的字元集,所以JavaScript中的所有字元都是16位的。
4、false、null、undefined、空字元串、0、NaN都被認為是false。除此之外的其它值都是true,包括’false’、new Boolean(false)。
5、typeof運算符產生的值有:’number’、’string’、’boolean’、’undefined’、’function’、’object’。對於數組或null,typeof均返回’object’。
6、若第一個運算數是假,&&返回第一個運算數的值,反之,返回第二個;若第一個運算數是真,||返回第一個運算數的值,反之,返回第二個;
7、arguments擁有一個length屬性,但不是數組,它沒有任何數組的方法。
8、用於處理正則的方法:regexp.exec()、regexp.test()、string.match()、string.replace()、string.search()和string.split()【可參見:JavaScript正則表達式】
9、正則表達式因數:\ / [ ] ( ) { } ? + * | . ^ $。若要匹配因數,在字面量中用\進行轉義,在RegExp對象中則雙寫\。註意\首碼不能使字母或數字字面化。
10、正則表達式分組
- 捕獲型:一個捕獲型分組是一個被包圍在圓括弧中的正則表達式分支。任何匹配這個分組的字元都會被捕獲。每個捕獲型分組都被指定了一個數字。1是第一個捕獲分組,2是第二個,依此類推。
- 非捕獲型:非捕獲型分組帶 ?: 首碼。它僅做簡單的匹配,並不捕獲匹配文本,也不幹擾捕獲型分組的編號
- 向前正向匹配:帶 ?= 首碼,類似於非捕獲型分組,但在這個組匹配之後,文本會倒回到它開始的地方,實際上不匹配任何東西。
- 向前負向匹配:帶 ?! 首碼 ,類似於向前正向匹配,但是只有它匹配失敗時它才繼續向前進行匹配
11、關於 == 的有趣例子
- ‘ ‘ == ‘0’ //false
- 0 == ‘ ‘ //false
- 0 == ‘0’ //true
- false == ‘false ‘ //false
- false == ‘ 0′ // true
- false == undefined //false
- false == null //false
- null == undefined //true
- ‘ \t\r\n ‘ == 0 //true