JavaScript 快速導覽 - 內建 Number 物件

Number 物件 (object) 也就是帶有數字的物件,如整數 (integer) 或帶有小數點的浮點數 (float-pointing number) 都是。建立物件可以利用建構子函數 (constructor function) ,例如

var ntest = new Number(value);


Number() 的參數 (parameter) 可以是任何數值,數字、字串或其他物件,因此 Number() 會得到該物件的數字形式,非數字的物件會回傳 NaN 。若不加 new , Number() 也可當轉換資料型態 (data type) 的函數 (function) 來使用。例如
var ntest = Number(value);


如果沒有提供參數, Number() 會回傳 0 ,例如
var ntest1 = Number();     //0
var ntest2 = Number(-36);  //-36
var ntest3 = Number(45);   //45
var ntest4 = Number(0.05); //0.05
var ntest5 = Number("");   //0
var ntest6 = Boolean("0"); //0


也可以直接由字面常數 (literal) 建立 Number 物件,例如
var btest1 = 22   //22
var btest2 = 5.05 //5.05


Number 有一些預先定義好的屬性
屬性描述
Number.MAX_VALUE可表示正數的最大值,約為 1.8×10308
Number.MIN_VALUE可表示正數的最小值,為 5×10-324
Number.NaN非數字,為 NaN
Number.NEGATIVE_INFINITY超出可表示數字的最大負整數值,為 -Infinity
Number.POSITIVE_INFINITY超出可表示數字的最大正整數值,為 Infinity


另有以下常見的方法 (method)
方法描述
toString(radix)回傳物件的字串形式, radix 為指定進位
valueOf()回傳物件的數值
toFixed(fractionDigits)若提供參數,參數即為小數點後的位數
toExponential(fractionDigits)將數字改為科學記號表示法,參數為指定小數點後的位數
toPrecision(precision)將數字改為指定的精確度,參數為指定小數點後的位數


舉例示範如下
function run() {
    var c = document.getElementById("content");
    var n1 = document.createElement("p"); 
    var n2 = document.createElement("p"); 
    var n3 = document.createElement("p"); 
    var n4 = document.createElement("p");
    var n5 = document.createElement("p");
    var n6 = document.createElement("p");
    
    var t1 = Number.POSITIVE_INFINITY;
    var t2 = -Number.NEGATIVE_INFINITY;
    var t3 = t1 + t2;
    var t4 = Number.MAX_VALUE;
    var t5 = -Number.MAX_VALUE;
    var t6 = t4 + t5;
    
    n1.appendChild(document.createTextNode(t1));
    c.appendChild(n1);
    n2.appendChild(document.createTextNode(t2));
    c.appendChild(n2);
    n3.appendChild(document.createTextNode(t3));
    c.appendChild(n3);
    n4.appendChild(document.createTextNode(t4));
    c.appendChild(n4);
    n5.appendChild(document.createTextNode(t5));
    c.appendChild(n5);
    n6.appendChild(document.createTextNode(t6));
    c.appendChild(n6);
}

/* 《程式語言教學誌》的範例程式
     http://pydoing.blogspot.com/
     檔名:number01.js
     功能:示範 JavaScript 程式 
     作者:張凱慶
     時間:西元 2010 年 11 月 */


利用以下的 HTML 文件開啟
<html>

<head>
<title>JavaScript Demo</title>
<script src="number01.js" type="text/javascript"></script>
</head>

<body>
<input id="b" type="button" value="RUN" onclick="run();">
<div id="content"></div>
</body>

</html>

<!-- 《程式語言教學誌》的範例程式
     http://pydoing.blogspot.com/
     檔名:number01.html
     功能:示範 JavaScript 程式 
     作者:張凱慶
     時間:西元 2010 年 11 月 -->


執行結果如下



當一個數字已經標記為 Infinity 的時候,再做任何加減乘除都會是 Infinity ,不會再改變。


中英文術語對照
物件object
整數integer
浮點數float-pointing number
建構子函數constructor function
參數parameter
資料型態data type
函數function
字面常數literal
方法method


內建物件




沒有留言: