Number是與數字值對應的引用類型。要創建Number對象,可以在調用Number構造函數時向其 中傳遞相應的數值。下面是一個例子: var numberObject=new Number (10); 與Boolean類型一樣,Number類型也重寫了valueOf(),toLocaleString()和toString()方法。重寫后的valueOf()方法返回對象表示的基本類型的數值,另外兩個方法則返回字符串形式的數值。我們在第3章還介紹過,可以為toString()方法傳遞一個表示基數的參數,告訴它返回幾進制數值的字符串形式,如下面的例子所示:
var riurri=10;
alert (num.toString()); //"10"
alert (num. toString(2)); //"1010"
alert(num. toString(8)); //"12"
alert (num.toString (10)); //"lo"
alert (num.toString(16)); //"a"
除了繼承的方法之外,Number類型還提供了一些用于將數值格式化為字符串的方法。
其中,toFixed()方法會按照指定的小數位返回數值的字符串表示,南昌網站設計公司技術人員舉例說明,例如:
var num = 10;
alert(num.toFixed(2)) //"10.00"
這里給toFixed()方法傳入了數值2,意思是顯示幾位小數,于是,這個方法返回了"10.
00",即以0填補了必要的小數值。如果數值本身包否酌不聶位比指定的還多,那么接近指定的最大小數位的值就會舍入,如下面的例子所示:
var num = 10.005;
alert(num.toFixed(2)) //"10.01"
能夠自動舍入的特性,使得toFixed()方法很適合處理貨幣值。但需要注意的是,不同瀏覽器給這個方法設定的舍入規則可能會有所不同。
南昌網站建設公司工程師需要說明的是,toFixed()方法可以表示帶有0到20個小數位的數值。但這只是標準實現的范圍,有些瀏覽器也可能支持更多位數。
另外可用于格式化數值的方法是toExponential(),該方法返回以指數表示法(也稱e表示法)表示的數值的字符串形式。與toFixed一樣,toExponential()也接收一個參數,而且該參數同樣也是指定輸出結果中的小數位數。看下面的例子:
var num=10;
alert (num.toExponential(1)); //"1.0e+1"
以上代碼輸出了"l.Oe+l”;不過,這么小的數值一般不必使用e表示法。如果你想得到表示某個數值的最合適的格式,就應該使用toPrecision()方法。
對于一個數值來說,toPrecision()方法可能會返回固定大小(fixed)格式,也可能返回指數(exponential)格式;具體規則是看哪種格式最合適。這個方法接收一個參數,即表示數值的所有數字的位數(不包括指數部分)。請看下面的例子:
var num=99; alert(num.toPrecision(1)); //"1e+2"
alert(num.toPrecision(2)); //"99"
alert(num.toPrecision(3)); //"99.0"
以上代碼首先完成的任務是以一位數來表示99,結果是”1e+2”,即1
00。因為一位數無法準確地表示99,因此toPrecision()就將它向上舍人為100,這樣就可以使用一位數來表示它了。而接下來的用兩位數表示99,當然還是”99”。最后,在想以三位數表示99時,toPrecision()方法返回了"99.0"。實際上,toPrecision()會欞據要處理的數值決定到底是調用toFixed()還是調用toExponential()。而這三個方法都可以通過向上或向下舍入,做到以最準確的形式來表示帶有正確小數位的值。
與Boolean對象類似,Number對象也以后臺方式為數值提供了重要的功能。但與此同時,我們仍然不建議直接實例化Number類型,而原因與顯式創建Boolean對象一樣。具體來講,就是在使用typeof和instanceof操作符測試基本類型數值與引用類型數值時,得到的結果完全不同,如下面的例子所示:
var numberObject=new Number (10);
var numberValue=10;
alert(typeof munberObject); //"obj ect"
alert(typeof numberValue); //"number"
alert (numberObject instanceof Number); //true
alert (numberValue instanceof Number); //false
在使用typeof操作符測試基本類型數值時,始終會返回"number",而在測試Number對象時,則會返回"object"。類似地,Number對象是Nunber類型的實例,而基本類型的數值則不是。
希望對廣大站長或網站建設公司或從事企業網站建設的團隊有所幫助,如對此不太理解的,可以與南昌網絡公司百恒網絡技術部聯系。我們很高與廣大站長和網站建設公司技術人員分享我們的技術和經驗。