亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

JavaScript原生對象之Number對象的屬性和方法詳解

2024-05-06 16:16:44
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了JavaScript原生對象之Number對象的屬性和方法詳解,本文講解了創建 Number 對象的語法、MAX_VALUE、MIN_VALUE、NaN等屬性或方法,需要的朋友可以參考下
 

創建 Number 對象的語法:

復制代碼代碼如下:

var myNum = new Number(value);
var myNum = Number(value);

當 Number() 和運算符 new 一起作為構造函數使用時,它返回一個新創建的 Number 對象。如果不用 new 運算符,把 Number() 作為一個函數來調用,它將把自己的參數轉換成一個原始的數值,并且返回這個值(如果轉換失敗,則返回 NaN)。

 

MAX_VALUE

MAX_VALUE 屬性是 JavaScript 中可表示的最大的數。它的近似值為 1.7976931348623157 x 10308。最大的負數是 -MAX_VALUE。

比MAX_VALUE還要大的數是Infinity。MAX_VALUE是一個靜態屬性,所以調用方法應該是Number.MAX_VALUE。

 

復制代碼代碼如下:

console.log(Number.MAX_VALUE)  //1.7976931348623157e+308

 

MIN_VALUE

MIN_VALUE 屬性是 JavaScript 中可表示的最小的數(接近 0 ,但不是負數)。它的近似值為 5 x 10-324 。

所有比MIN_VALUE小的數都會被轉換成0。

MIN_VALUE是一個靜態屬性,所以調用方法應該是 Number.MIN_VALUE。

NaN

NaN 屬性是代表非數字值的特殊值。該屬性用于指示某個值不是數字。可以把 Number 對象設置為該值,來指示其不是數字值。

可以使用 isNaN() 全局函數來判斷一個值是否是 NaN 值。

Number.NaN 是一個特殊值,說明某些算術運算(如求負數的平方根)的結果不是數字。方法 parseInt() 和 parseFloat() 在不能解析指定的字符串時就返回這個值。對于一些常規情況下返回有效數字的函數,也可以采用這種方法,用 Number.NaN 說明它的錯誤情況。

JavaScript 以 NaN 的形式輸出 Number.NaN。請注意,NaN 與其他數值進行比較的結果總是不相等的,包括它自身在內。因此,不能與 Number.NaN 比較來檢測一個值是不是數字,而只能調用 isNaN() 來比較。

注意:全局變量NaN 和Number.NaN 是一樣的,NaN是一個不可配置,不可修改的屬性。

復制代碼代碼如下:

console.log(parseInt("abc"));    //NaN
console.log(NaN === NaN);        //false
console.log(Number.NaN === NaN); //false
console.log(isNaN(NaN));         //true
console.log(isNaN(Number.NaN));  //true

 

NEGATIVE_INFINITY

NEGATIVE_INFINITY 屬性表示小于 -Number.MAX_VALUE 的值。該值代表負無窮大。

JavaScript 顯示 NEGATIVE_INFINITY 時使用的是 -Infinity。這個值的算術行為和無窮大非常相似。例如,任何數乘無窮大結果仍為無窮大,任何數被無窮大除的結果為 0。

-Infinity 和 Number.NEGATIVE_INFINITY 相等。

復制代碼代碼如下:

var x = (-Number.MAX_VALUE) * 2;
var y = Number.NEGATIVE_INFINITY;
console.log(x);     //-Infinity
console.log(y);     //-Infinity
console.log(x===y); //true

 

POSITIVE_INFINITY

POSITIVE_INFINITY 屬性表示大于 Number.MAX_VALUE 的值。該值代表正無窮大。

JavaScript 顯示 POSITIVE_INFINITY 時使用的是 Infinity。這個值的算術行為和無窮大非常相似。例如,任何數乘無窮大結果仍為無窮大,任何數被無窮大除的結果為 0。

Infinity 和 Number.POSITIVE_INFINITY相等。

isFinite() 方法可以判斷參數是否是有限的數字。

復制代碼代碼如下:

var x = Number.NEGATIVE_INFINITY;
var y = Number.POSITIVE_INFINITY;
var z = Infinity;
var a = "abc";
var b = 123;

 

console.log(isFinite(x));  //false
console.log(isFinite(y));  //false
console.log(isFinite(z));  //false
console.log(isFinite(a));  //false
console.log(isFinite(b));  //true

 

toString()

toString() 方法可把一個 Number 對象轉換為一個字符串,并返回結果。

NumberObject.toString(radix)

參數radix是可選的。規定表示數字的基數,使 2 ~ 36 之間的整數。若省略該參數,則使用基數 10,建議總是帶著此參數,防止誤解。例如,當 radix 為 2 時,NumberObject 會被轉換為二進制值表示的字符串。

當調用該方法的對象不是 Number 時拋出 TypeError 異常。

 

復制代碼代碼如下:

var a = 100;

 

console.log(a.toString());    //100
console.log(a.toString(10));  //100
console.log(a.toString(2));   //1100100
console.log(a.toString(8));   //144
console.log(a.toString(16));  //64

 

toLocaleString()

toLocaleString() 方法可把一個 Number 對象轉換為本地格式的字符串。

數字的字符串表示,由實現決定,根據本地規范進行格式化,可能影響到小數點或千分位分隔符采用的標點符號。

當調用該方法的對象不是 Number 時拋出 TypeError 異常。

復制代碼代碼如下:

var a = 123456;

 

console.log(a.toLocaleString());  //123,456
console.log(a.toLocaleString("zh-Hans-CN-u-nu-hanidec"));  //一二三,四五六

 

更多參數可以參考:MDN

toFixed()

toFixed() 方法可把 Number 四舍五入為指定小數位數的數字。

NumberObject.toFixed(num)

參數num是必需的。規定小數的位數,是 0 ~ 20 之間的值,包括 0 和 20,有些實現可以支持更大的數值范圍。如果省略了該參數,將用 0 代替。

返回 NumberObject 的字符串表示,不采用指數計數法,小數點后有固定的 num 位數字。如果必要,該數字會被舍入,也可以用 0 補足,以便它達到指定的長度。如果 num 大于 le+21,則該方法只調用 NumberObject.toString(),返回采用指數計數法表示的字符串。

當 num 太小或太大時拋出異常 RangeError。0 ~ 20 之間的值不會引發該異常。有些實現支持更大范圍或更小范圍內的值。當調用該方法的對象不是 Number 時拋出 TypeError 異常。

復制代碼代碼如下:

var n = 12345.6789;

 

console.log(n.toFixed());            //12346
console.log(n.toFixed(2));           //12345.68
console.log(n.toFixed(6));           //12345.678900
console.log((1.23e+20).toFixed(2));  //123000000000000000000.00
console.log((1.23e-10).toFixed(2));  //0.00

 

注意:由于對浮點數的處理,toFixed() 方法展現出的結果并不是所謂的“四舍五入”或者是“四舍六入五成雙”,而是四舍,六入,五的表現十分混亂。

復制代碼代碼如下:

//Chrome中
console.log(( 0.035 ).toFixed( 2 )); //0.04
console.log(( 0.045 ).toFixed( 2 )); //0.04

 

建議自己寫方法來替換toFixed()默認行為,可以參考:SO上的討論:

 

復制代碼代碼如下:

Number.prototype.toFixed = function(len){
    var temp = Math.pow(10,len);
    var s = Math.ceil(this * temp)
    return s/temp;
}

 

console.log(( 0.035 ).toFixed( 2 ));  //0.04
console.log(( 0.045 ).toFixed( 2 ));  //0.05

 

toExponential()

toExponential() 方法可把對象的值轉換成指數計數法。

NumberObject.toExponential(num)

參數num是可選的。規定指數計數法中的小數位數,是 0 ~ 20 之間的值,包括 0 和 20,有些實現可以支持更大的數值范圍。如果省略了該參數,將使用盡可能多的數字。

返回 NumberObject 的字符串表示,采用指數計數法,即小數點之前有一位數字,小數點之后有 num 位數字。該數字的小數部分將被舍入,必要時用 0 補足,以便它達到指定的長度。

當 num 太小或太大時拋出異常 RangeError。0 ~ 20 之間的值不會引發該異常。有些實現支持更大范圍或更小范圍內的值。當調用該方法的對象不是 Number 時拋出 TypeError 異常。

 

復制代碼代碼如下:

var num = 10000.1234;

 

console.log(num.toExponential());    //1.00001234e+4
console.log(num.toExponential(2));   //1.00e+4
console.log(num.toExponential(10));  //1.0000123400e+4

 

toPrecision()

toPrecision() 方法可將數值格式化為一個十進制數形式的字符串。

NumberObject.toPrecision(num)

參數num是可選的。用于控制數字的精度。該參數是 1 ~ 21 之間(且包括 1 和 21)的值。如果省略了該參數,則調用方法 toString(),而不是把數字轉換成十進制的值。

 

復制代碼代碼如下:

var num = 10000.1234;

 

console.log(num.toPrecision());    //10000.1234
console.log(num.toPrecision(2));   //1.0e+4
console.log(num.toPrecision(10));  //10000.12340


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品国产亚洲精品| 97热在线精品视频在线观看| 亚洲成色777777在线观看影院| 成人精品aaaa网站| 国产综合福利在线| 亚洲一区二区久久久久久| 亚洲变态欧美另类捆绑| 98精品国产自产在线观看| 91高清视频在线免费观看| 亚洲xxxx18| 亚洲成人黄色网址| 亚洲直播在线一区| 国产又爽又黄的激情精品视频| 在线观看精品自拍私拍| 9.1国产丝袜在线观看| 欧美日韩激情视频8区| 亚洲男女自偷自拍图片另类| 4438全国亚洲精品在线观看视频| 国产日韩综合一区二区性色av| 国产精品久久久久久久久久| 国产精品男女猛烈高潮激情| 亚洲精品国产精品自产a区红杏吧| 97精品国产aⅴ7777| 欧美激情a∨在线视频播放| 日韩av片电影专区| 中文国产成人精品久久一| 国产一区二区三区精品久久久| 国产精品第10页| 亚洲深夜福利在线| 懂色av一区二区三区| 成人动漫网站在线观看| 成人网址在线观看| 精品美女久久久久久免费| 亚洲高清在线观看| 欧美专区日韩视频| 7777kkkk成人观看| 欧美性在线视频| 欧美另类在线播放| 欧美精品亚州精品| 精品国内自产拍在线观看| 欧美午夜激情视频| 亚洲一区二区三区乱码aⅴ蜜桃女| 精品国产区一区二区三区在线观看| 日韩成人网免费视频| 国产一区二区三区三区在线观看| 国产午夜精品一区二区三区| 欧美中文字幕在线观看| 欧美一级成年大片在线观看| www.久久久久久.com| 中文字幕精品视频| 欧美激情xxxx性bbbb| 一本色道久久综合亚洲精品小说| 国产精品久久97| 国产不卡一区二区在线播放| 国产精品久久久久9999| 国产精品自产拍高潮在线观看| 久热精品视频在线观看| 亚洲国产精品va在线看黑人动漫| 在线不卡国产精品| 国产不卡精品视男人的天堂| 91免费的视频在线播放| 欧美壮男野外gaytube| 一本一道久久a久久精品逆3p| 国产精品人成电影在线观看| 欧美日韩国产综合新一区| 97福利一区二区| 久热精品视频在线免费观看| 日本19禁啪啪免费观看www| 国产精品白嫩美女在线观看| 69久久夜色精品国产69| 午夜精品蜜臀一区二区三区免费| 疯狂做受xxxx欧美肥白少妇| 欧美日韩另类字幕中文| 亚洲人a成www在线影院| 91精品国产精品| 国产精品高潮呻吟久久av黑人| 国产精品成人一区二区| 51色欧美片视频在线观看| 久久婷婷国产麻豆91天堂| 黄色一区二区在线观看| 91久久精品日日躁夜夜躁国产| 亚洲欧美中文日韩v在线观看| 日韩精品在线看| 亚洲精品电影网| 国内揄拍国内精品| 91精品成人久久| 日韩美女免费视频| 亚洲图片欧美日产| 国产在线高清精品| 国产精品视频在线播放| 国产精品免费小视频| 色老头一区二区三区在线观看| 超碰97人人做人人爱少妇| 欧美性猛交视频| 欧美日韩国产在线看| 欧美视频在线看| 日韩av在线不卡| 亚洲三级av在线| 欧美国产精品人人做人人爱| 日韩中文字幕网站| 国产精品pans私拍| 亚洲视频自拍偷拍| 国产精品美乳一区二区免费| 国产精品久久久999| 久久久久久久久久婷婷| 国产丝袜精品视频| 狠狠色狠狠色综合日日小说| 亚洲老头老太hd| 国产精品美女网站| 国产精品久久久久久久久借妻| 亚洲自拍偷拍第一页| 欧美日韩亚洲国产一区| 国产精品十八以下禁看| 国产一区二区在线免费视频| 亚洲性夜色噜噜噜7777| 欧美人与物videos| 亚洲国产免费av| 成人精品久久av网站| 欧美精品在线免费观看| 久久精品2019中文字幕| 91久久精品美女高潮| 久热精品在线视频| 精品国产欧美一区二区五十路| 草民午夜欧美限制a级福利片| 日韩a**站在线观看| 国产精品自拍网| 欧美性猛交xxxx久久久| 久久久久久成人| 亚洲精品99久久久久| 91网站免费观看| 亚洲欧洲在线免费| 色哟哟入口国产精品| 欧美日韩在线观看视频| 日韩在线视频线视频免费网站| 日韩av男人的天堂| 国产一区二区在线免费视频| 97碰在线观看| 国产成人免费91av在线| 在线观看免费高清视频97| 欧美激情在线观看视频| 91高清视频在线免费观看| 久久久999国产| 日韩专区在线播放| 亚洲欧美日韩直播| 日韩精品999| 热99精品里视频精品| 欧美黄色片在线观看| 精品久久久免费| 欧美人与性动交| 久久久国产精品x99av| 亚洲国产精品久久91精品| 亚洲三级av在线| 中文字幕日韩欧美在线| 亚洲天堂网站在线观看视频| 国产亚洲激情在线| xxav国产精品美女主播| 欧美日韩午夜视频在线观看| 欧美午夜精品久久久久久浪潮| 欧美多人爱爱视频网站| 欧美性生活大片免费观看网址| 92国产精品久久久久首页| 久久99久久99精品中文字幕| 一区二区亚洲欧洲国产日韩| 97精品国产97久久久久久|