成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網
最全最豐富的資訊網站

javascript數值型有幾種

javascript數值型只有一種:浮點類型。JavaScript內部存儲數字都是按64位浮點類型存儲的,所以在JavaScript中實際上是沒有整數類型的。按照JavaScript中的數字格式能夠表示的整數范圍為“[-2^53 ~ 2^53]”,包含邊界值;但需要注意的是,數組索引、位操作符等使用的是基于32位的整數。

javascript數值型有幾種

前端(vue)入門到精通課程:進入學習
API 文檔、設計、調試、自動化測試一體化協作工具:點擊使用

本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

在JavaScript中,數值類型只有一種,內部表示為64位浮點數。所以在JavaScript中實際上是沒有整數類型的。

print(3/2); // 1.5

可見,數值都是按浮點數來處理的。

因為JavaScript內部存儲數字都是按64位浮點類型存儲的,無論整數和小數。容易造成混淆的是,某些位運算必須要整數才可以運行,所以會自動將64位浮點數轉化為32位整數。再進行位運算。在JavaScript中,1和1.0是一樣的

1 == 1.0 true 0.1+0.2 == 0.3 false 0.3/0.1 = 2.99999999996 (0.3-0.2) === (0.2-0.1) false

總之,涉及小數的運算要小心

按照JavaScript中的數字格式(IEEE-754定義的64位浮點格式),能夠表示的整數范圍為[-2^53 ~ 2^53],包含邊界值。然而需要注意的是,數組索引、位操作符等使用的是基于32位的整數。

浮點數值的最高精度是17位小數,但在進行算術計算時其精確度遠遠不如整數。例如,0.1加0.2的結果不是0.3,而是0.30000000000000004。這個小小的舍入誤差會導致無法測試特定的浮點數值。

因為二進制浮點數可以精確地表示1/2、1/8等,但不能精確地表示1/10、1/100等。所以像0.1這樣的簡單數字也不能精確表示。

由于浮點數有精度問題,可能會在比較時得到一此意想不到的結果:

print((0.1+0.2) == 0.3); // false print(0.1+0.2);          // 0.30000000000000004 print(0.3);              // 0.3  print((10/3-3) == (1/3));// false print(10/3-3);           // 0.3333333333333335 print(1/3);              // 0.3333333333333333

對于整數的情況,只要使用53位以內的整數,則不會出現精度問題,可以放心使用。

除了以十進制表示外,整數還可以通過八進制(以8為基數)或十六進制(以16為基數)的字面值來表示。其中,八進制字面值的第一位必須是零(0),然后是八進制數字序列(0~7)。如果字面值中的數值超出了范圍,那么前導零將被忽略,后面的數值將被當作十進制數值解析。

八進制字面量在嚴格模式下是無效的,會導致支持該模式的JavaScript引擎拋出錯誤。

十六進制字面值的前兩位必須是0x,后跟任何十六進制數字(0~9及A~F)。其中,字母 A~F 可以大寫,也可以小寫。

由于保存浮點數值需要的內存空間是保存整數值的兩倍,因此ECMAScript會不失時機地將浮點數值轉換為整數值。顯然,如果小數點后面沒有跟任何數字,那么這個數值就可以作為整數值來保存。同樣地,如果浮點數值本身表示的就是一個整數(如1.0),那么該值也會被轉換為整數。

數值對象

與字符串值對應著一個字符串對象一樣,數值也有對應的數值對象,即Number。

數值同樣可以直接調用數值對應的屬性:

print((6).toString()); // 6

注意,本例中,數值需要添加括號,否則句點會被認為是小數點。

Number的使用與String的使用類似,可以進行類型轉換、創建數值對象等。

在進行類型轉換時,如果轉換不成功,即Number返回NaN,使用數值對象時也是如此。

var a = Number('x'); print(typeof a, a);       // number NaN var b = new Number('x');  print(typeof b, b);       // object [Number: NaN]

Number具有5個特殊屬性(只讀),即:

  • MAX_VALUE :正數最大值,再大就會變成Infinity

  • MIN_VALUE :正數最小值,再小就會變成0

  • NaN :Not a Number

  • NEGATIVE_INFINITY :負無窮大,即-Infinity

  • POSITIVE_INFINITY :正無窮大,即Infinity

print(Number.MAX_VALUE);         // 1.7976931348623157e+308 print(Number.MIN_VALUE);         // 5e-324 print(Number.NaN);               // NaN print(Number.NEGATIVE_INFINITY); // -Infinity print(Number.POSITIVE_INFINITY); // Infinity

Infinity

當數字運算結果超過了JavaScript所能表示數字上限時,結果為一個特殊的無窮大值(Infinity),如果是負數的值超過了JavaScript所能表示的負數范圍,則結果為-Infinity。

當運算結果無限接近于零并比JavaScript能表示的最小值還小的時候(下溢),結果為0,當負數發生下溢時,結果為-0,正數發生下溢,則結果為+0。

JavaScript預定義了全局變量Infinity和NaN,它們都是只讀變量。

由于內存的限制,ECMAScript并不能保存世界上所有的數值。ECMAScript能夠表示的最小數值保存在Number.MIN_VALUE中——在大多數瀏覽器中,這個值是5e-324;能夠表示的最大數值保存在Number.MAX_VALUE中——在大多數瀏覽器中,這個值是1.7976931348623157e+308。如果某次計算的結果得到了一個超出JavaScript數值范圍的值,那么這個數值將被自動轉換成特殊的Infinity值。具體來說,如果這個數值是負數,則會被轉換成-Infinity(負無窮),如果這個數值是正數,則會被轉換成Infinity(正無窮)。

如果某次計算返回了正或負的Infinity值,那么該值將無法繼續參與下一次的計算,因為Infinity不是能夠參與計算的數值。要想確定一個數值是不是有窮的(換句話說,是不是位于最小和最大的數值之間),可以使用isFinite()函數。

NaN

NaN是一個特殊的數值,這個數值用于表示一個本來要返回數值的操作數未返回數值的情況(這樣就不會拋出錯誤了)。

對于NaN,要記住的一點是,只要運算中出現NaN,結果就一定是NaN,就算是"NaN*0"這樣的運算,也一樣是NaN。只要對NaN運行比較運行,結果就一定是false,就算"NaN==NaN"/"NaN!=NaN"等,都是false。

要判斷一個值是否為NaN,可以使用isNaN()函數:

print(isNaN(NaN));  // true print(isNaN(0/0));  // true

在基于對象調用isNaN()函數時,會首先調用對象的valueOf()方法,然后確定該方法返回的值是否可以轉換為數值。如果不能,則基于這個返回值再調用toString()方法,再測試返回值。

也可以使用x!==x來判斷x是否為NaN,只有在x為NaN的時候,這個表達式的值才為true。

inFinite()

isFinite函數用于判斷一個數是否為“正常”的數值:

print(isFinite(Number.NaN));               // false print(isFinite(Number.NEGATIVE_INFINITY)); // false print(isFinite(Number.POSITIVE_INFINITY)); // false

除了以上3個特殊值外,其他值的結果都為true

假如x是一個普通數值,則有:

x/0 = Infinity x%0 = NaN x/Infinity = 0 x%Infinity = x 0/0 = NaN 0%0 = NaN Infinity/x = Infinity Infinity%x = NaN Infinity/Infinity = NaN Infinity%Infinity = NaN

完整輸出如下:

print(0 / 0);           // NaN print(3 / 0);           // Infinity print(Infinity / 0);    // Infinity print(0 % 0);           // NaN print(3 % 0);           // NaN print(Infinity % 0);    // NaN ---------- print(0 / 4);           // 0 print(3 / 4);           // 0.75 print(Infinity / 4);    // Infinity print(0 % 4);           // 0 print(3 % 4);           // 3 print(Infinity % 4);    // NaN ---------- print(0 / Infinity);           // 0 print(3 / Infinity);           // 0 print(Infinity / Infinity);    // NaN print(0 % Infinity);           // 0 print(3 % Infinity);           // 3 print(Infinity % Infinity);    // NaN

負零與正零

負零與正零的值相等,不過畢竟帶有符號,在一些運算中會有符號方面的差別,比如:

var zero = 0;  var negz = -0;

此時,zero 等于 negz , 但1/zero 卻不等于 1/negz。

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
国产精品伦一区二区三级视频| 国产精品美女乱子伦高| 成人动漫在线观看| 岳两片肥美的蚌肉| 免费精东传媒VS天美传媒| 国内精品人妻无码久久久影院| 696969C大但人文艺术作品| 亚洲精品无码AV人在线观看国产| 婷婷久久香蕉五月综合加勒比| 日本熟妇人妻XXXXX野外呻| 免费网站正能量WWW正能量| 精品国产乱码久久久久久1区2区| 国产乱人伦AV在线A麻豆| 荡公乱妇第1章95| A在线视频播放观看免费观看| 伊人久久大香线蕉AV一区二区| 亚洲国产成人无码AV在线影院L | 成人区人妻精品一区二区不卡网站| 19782美国农场主的三个女儿| 亚洲一卡一卡二新区无人区| 亚洲精品国产成人99久久6| 在线播放亚洲第一字幕| XOXOXO性ⅩYY欧美69| GOGO全球大胆高清人体131| 重囗味sm在线观看无码| 一边摸一边抽搐一进一出视频| 亚洲熟妇色XXXXX亚洲| 亚洲精品乱码久久久久66| 中文字幕人成无码免费视频| 重口老太大和小伙乱| 抽出含了一整夜的性器液体流出| 成人免费A级毛片| 国产亚洲精品岁国产微拍精品| 国产肉丝袜在线观看| 公么大龟弄得我好舒服秀婷视频| 公的大龟慢慢挺进我的体内| 国产Chinese男男GayGay网站 | 色欲天天天综合网| 色天使亚洲综合一区二区| 搡老女人ⅩXXX搡老女人电影看| 亚洲AV无码蜜臀久久寂寞少妇| 亚洲GAY片在线GV网站| 亚洲国产精久久久久久久| √新版天堂资源在线资源| 国产SUV精品一区二区五| 久久久久久精品免费免费WEI| 两个领导在车里吃我奶| 内射骚妇高清AV电影| 人妻丝袜另类欧美偷拍视频| 日本伊人色综合网| 亚洲高清乱码午夜电影网| JAPANESE人妻少妇HD| 国产在线拍偷自揄拍无码| 精品无码AV一区二区三区少妇| 久久性色欲AV免费精品观看| 女人被爽到呻吟GIF动态图| 琪琪午夜伦埋影院77| 涩爱亚洲色欲AV无码成人专区| 无码中文字幕日韩专区视频| 亚洲国产精品一区二区久久HS| 伊人久久大香线蕉午夜| 国产成人啪精品视频网站午夜 | 一女多男3根一起进去爽吗| 成人亚洲AV日韩AV欧v| 久久久久国产亚洲AⅤ麻豆| 手机看片福利永久| 亚洲AV无码成人精品区网站 | 亚洲一级无码av毛片www| 粉嫩AV一区二区精品爆乳| 国产V精品成人免费视频| 老师抱着我在教室做| 无码秘 人妻一区二区三区 | 狠狠噜天天噜日日噜色综合| 久久久久久综合网天天| 蜜臀AV无码精品人妻色欲 | 成 人 免 费 黄 色| 国产精品久久久久久久久免费蜜桃| 男生女生差差差轮滑免费| 亚洲成A人片在线观看无码专区| 中日韩精品无码一区二区三区| 波多野结衣AV一区二区全免费观| 国产裸模视频免费区无码| 久久亚洲精品无码观看| 五月丁香伊人久久91视频| 亚洲中文字幕无码爆乳APP| MACBOOKPRO免费观看| 国产精品一区二区高清在线| 人妻大战黑人白浆狂泄| 亚洲AV成人无码网站大全| 中国另类丰满熟妇乱XXXXX| 粗壮挺进人妻水蜜桃成熟漫画| 噜噜狠狠色综合久色A站网址| 日韩精品内射视频免费观看| 亚洲AV无码国产精品久久| 丰满少妇人妻XXXXX| 欧美激情综合色综合啪啪五月| 五月丁香综合缴情六月小说 | 日おめでとうございます| 性高朝久久久久久久3小时| 在线天堂おっさんとわたしWWW| 国产性大战XXXXX久久久| 少妇做爰XXXⅩ性XXXHD| 变态拳头交视频一区二区| 妺妺窝人体色www聚色窝图 | 久久久亚洲欧洲日产国码农村| 亚洲AV日韩AV永久无码水密桃| 337P粉嫩日本欧洲亚洲大胆艺 | 欧洲一卡2卡三卡4卡 乱码| 在小巷里被强高HNP| 久久精品国产一区二区三| 日日摸夜夜添夜夜添无码国产| 亚洲无线一二三四区手机| 国内精品久久久久影院蜜芽蜜芽T 国内精品久久久久影院蜜芽 | 人妻丰满熟妇AV无码| 亚洲国产欧美在线人成APP| 国产内射老熟女AAAA∵| 玩弄人妻少妇500系列网址| 中文字幕有码中文无码| 久久久久久久综合综合狠狠| 亚洲毛片ΑV无线播放一区| 成人午夜福利无码不卡视频| 全免费又大粗又黄又爽少妇片| 9999久久久久精品无码| 国产综合无码一区二区色蜜蜜| 我和子发生了性关系视频| 国产AⅤ无码专区亚洲AV| 色欲久久久天天天综合网精品| 成视频年人黄网站免费视频| 日韩A级无码免费视频| 成人乱子视频在线播放| 日本在线 | 中文| 成人免费观看的A级毛片| 日本高清在线视频WWW色| 永久免费AV网站| 久久综合九色综合97欧美| 亚洲AV成人一区二区三区网站| 国产欧美另类久久精品蜜芽| 无码抽搐高潮喷水流白浆| www.五月丁香| 人妻少妇精品久久久久久0000| 锕锕锕锕锕锕锕好疼视频真人| 久久婷婷五月综合97色直播| 西西人体444WWW大胆无码视频| 波多野结衣50连登视频| 日韩中文高清在线专区| 高清成人爽A毛片免费| 无码国产69精品久久久孕妇| 国产又色又爽又黄的网站在线| 亚洲国产成人久久精品99 | 青青草视频 成人| 成熟妇女一区av| 我被八个男人玩到早上| 国产新婚夫妇叫床声不断| 亚洲人成人一区二区三区| 国产美女久久精品香蕉69| 亚洲AV永久无码精品一区二区| 福利 无码 三级 视频| 无码人妻精品一区二区三区99仓 | 黑人巨大精品欧美黑寡妇| 亚洲熟妇AV乱码在线观看| 蜜臀AⅤ免费网站| 锕锕锕锕锕锕好污网站入口推特| 蜜臀av一区二区蜜臀AV免费| T66Y地址一地址二满18周岁| 少妇搡BBBB搡| 国产又爽又黄无码无遮挡在线观看 | 精品国产乱码久久久久久软件大全| 伊人久久大香线蕉AV仙人| 欧美性猛尖ⅩⅩⅩⅩ乱大交| 永久免费AV网站| 漂亮人妻洗澡被公强 日日躁| 公侵犯玩弄熟睡人妻电影| 亚洲AV性色在线观看| 麻豆AV一区二区天美传媒| А√天堂资源官网在线资源| 无码A级毛片视频| 久久精品国产亚洲精品| 97夜夜澡人人爽人人喊A| 色欲麻豆国产福利精品| 精东传媒VS天美传媒| 亚洲国产精品久久无码中文字蜜桃| 麻豆文化传媒WWW| 伊人久久大香线蕉综合影院首页| 欧美群交性爱视频| CAOPORN国产精品免费视频| 水多多凹凸福利视频导航| 公咬着小娇乳H边走边欢视频| 亚洲AV中文AⅤ无码AV不卡| 男女后进式猛烈XX00动态图片| 18禁强伦姧人妻又大又| 色妞WWW精品免费视频| 娇妻被朋友征服中文字幕| AV色欲无码人妻中文字幕| 亲近相奷对白中文字幕片| 国产精品怡红院在线观看| 永久免费AⅤ无码网站在线观看 | 丰满老熟好大BBB| 亚洲最大的AV无码网站| 麻豆国产尤物AV尤物在线观看| 大香伊蕉在人线国产最新2005|