一 數字
數字是javascript中的基礎資料類型之一,javascript並不區分整型數值和浮點型數值.Javascript採用IEEE 754 標準定義的64位浮格式,基本上類似於Java中的double類型.
javascript支援的數值直接量:整型直接量,八進位和十六進位直接量,浮點型直接量.
二 Number對象
Number 對象,該對象是原始數值的封裝對象。在必要時,JavaScript 會自動地在未經處理資料和對象之間轉換。
建構函式 Number() 可以不與運算子 new 一起使用,而直接作為轉化函數來使用。以這種方式調用 Number() 時,它會把自己的參數轉化成一個數字,然後返迴轉換後的原始數值(或 NaN)。建構函式通常還用作 5 個有用的數字常量的預留位置,這 5 個有用的數字常量分別是可表示的最大數、可表示的最小數、正無窮大、負無窮大和特殊的 NaN 值。類似於c#中的靜態成員屬性,不能被執行個體化.
Number.MAX_VALUE |
可表示的最大數字 |
Number.MIN_VALUE |
可表示的最小數字 |
Number.NAN |
特殊的非數字值 |
Number.POSITIVE_INFINITY |
表示正無窮大的特殊值 |
Number.NEGATIVE_INFINITY |
表示負無窮大的特殊值 |
另外還有兩個特殊值常量Infinity和NaN,分別表示無窮大和非數字.
NaN != NaN
Infinity == Infinity
Number.POSITIVE_INFINITY:Infinity
Number.NEGATIVE_INFINITY: -Infinity
兩個專門的函數用於判斷特殊值.
isNaN() |
檢測特殊值NaN. NaN !== NaN,但是isNaN(NaN) == true; |
isFinite() |
檢測一個數字是否NaN,正無窮大或者負無窮大 |
isNaN()的一個問題:它會隱式的將它的參數轉換成數字,所以即便參數是個不能轉換成數位字串,它也會返回true(轉換成了NaN),這樣就沒用通過類型檢測直接進行了判斷,如下版本可以解決該問題:
Number.isNaN = function (value) {
return typeof value === 'number' && isNaN(value);
};
三 數位運算
使用算數運算子(+,-,*,/等)進行運算.或者使用Math對象的函數來進行計算.
參考資料如下(如有侵權請您及時聯絡我):
javascript權威指南(第五版)
http://www.w3school.com.cn/js/pro_js_referencetypes.asp
http://www.cnblogs.com/ziyunfei/archive/2012/09/19/2690866.html