黄色电影一区二区,韩国少妇自慰A片免费看,精品人妻少妇一级毛片免费蜜桃AV按摩师 ,超碰 香蕉

JavaScript 數(shù)字

javascript 數(shù)字

javascript 只有一種數(shù)值類型。書寫數(shù)值時(shí)帶不帶小數(shù)點(diǎn)均可。

 

1. javascript 數(shù)值

書寫 javascript 數(shù)值既可以帶小數(shù)點(diǎn),也可以不帶:

范例

var x = 3.14;    // 帶小數(shù)點(diǎn)的數(shù)值 var y = 3;// 不帶小數(shù)點(diǎn)的數(shù)值 

超大或超小的數(shù)可通過(guò)科學(xué)計(jì)數(shù)法來(lái)寫:

范例

var x = 123e5;    // 12300000 var y = 123e-5;   // 0.00123 

 

2. javascript 數(shù)值始終是 64 位的浮點(diǎn)數(shù)

與許多其他編程語(yǔ)言不同,javascript 不會(huì)定義不同類型的數(shù),比如整數(shù)、短的、長(zhǎng)的、浮點(diǎn)的等等。

javascript 數(shù)值始終以雙精度浮點(diǎn)數(shù)來(lái)存儲(chǔ),根據(jù)國(guó)際 ieee 754 標(biāo)準(zhǔn)。

此格式用 64 位存儲(chǔ)數(shù)值,其中 0 到 51 存儲(chǔ)數(shù)字(片段),52 到 62 存儲(chǔ)指數(shù),63 位存儲(chǔ)符號(hào):

值(aka fraction/mantissa) 指數(shù) 符號(hào)
52 bits(0 - 51) 11 bits (52 - 62) 1 bit (63)

 

3. 精度

整數(shù)(不使用指數(shù)或科學(xué)計(jì)數(shù)法)會(huì)被精確到 15 位。

范例

var x = 999999999999999;   // x 將是 999999999999999 var y = 9999999999999999;  // y 將是 10000000000000000 

小數(shù)的最大數(shù)是 17 位,但是浮點(diǎn)的算數(shù)并不總是 100% 精準(zhǔn):

范例

var x = 0.2 + 0.1;  // x 將是 0.30000000000000004

使用乘除法有助于解決上面的問(wèn)題:

范例

var x = (0.2 * 10 + 0.1 * 10) / 10;// x 將是 0.3

 

4. 數(shù)字和字符串相加

警告?。?/h3>

javascript 的加法和級(jí)聯(lián)(concatenation)都使用 + 運(yùn)算符。

數(shù)字用加法。字符串用級(jí)聯(lián)。

如果您對(duì)兩個(gè)數(shù)相加,結(jié)果將是一個(gè)數(shù):

范例

var x = 10;
var y = 20;
var z = x + y;  // z 將是 30(一個(gè)數(shù))

如果對(duì)兩個(gè)字符串相加,結(jié)果將是一個(gè)字符串的級(jí)聯(lián):

范例

var x = "10";
var y = "20";
var z = x + y;    // z 將是 1020(字符串) 

如果您對(duì)一個(gè)數(shù)和一個(gè)字符串相加,結(jié)果也是字符串級(jí)聯(lián):

范例

var x = 10;
var y = "20";
var z = x + y;    // z 將是 1020(一個(gè)字符串) 

如果您對(duì)一個(gè)字符串和一個(gè)數(shù)字相加,結(jié)果也是字符串級(jí)聯(lián):

范例

var x = "10";
var y = 20;
var z = x + y;    // z 將是 1020(字符串) 

常見(jiàn)的錯(cuò)誤是認(rèn)為結(jié)果應(yīng)該是 30:

范例

var x = 10;
var y = 20;
var z = "the result is: " + x + y;

常見(jiàn)的錯(cuò)誤是認(rèn)為結(jié)果應(yīng)該是 102030:

范例

var x = 10;
var y = 20;
var z = "30";
var result = x + y + z;

javascript 從左向右進(jìn)行編譯。

因?yàn)?x 和 y 都是數(shù),10 + 20 將被相加。

因?yàn)?z 是字符串,30 + "30" 被級(jí)聯(lián)。

 

5. 數(shù)字字符串

javascript 字符串可以擁有數(shù)字內(nèi)容:

var x = 100;  // x 是數(shù)字 var y = "100";// y 是字符串 

在所有數(shù)字運(yùn)算中,javascript 會(huì)嘗試將字符串轉(zhuǎn)換為數(shù)字:

該例如此運(yùn)行:

var x = "100";
var y = "10";
var z = x / y;// z 將是 10 

該例也將如此運(yùn)行:

var x = "100";
var y = "10";
var z = x * y;// z 將是 1000 

該例如此運(yùn)行:

var x = "100";
var y = "10";
var z = x - y;// z 將是 90 

但是該例不會(huì)如上例般運(yùn)行:

var x = "100";
var y = "10";
var z = x + y;// z 不會(huì)是 110(而是 10010) 

在最后一個(gè)例子中,javascript 用 + 運(yùn)算符對(duì)字符串進(jìn)行了級(jí)聯(lián)。

 

6. nan - 非數(shù)值

nan 屬于 javascript 保留詞,指示某個(gè)數(shù)不是合法數(shù)。

嘗試用一個(gè)非數(shù)字字符串進(jìn)行除法會(huì)得到 nan(not a number):

范例

var x = 100 / "apple";  // x 將是 nan(not a number)

不過(guò),假如字符串包含數(shù)值,則結(jié)果將是數(shù):

范例

var x = 100 / "10";     // x 將是 10

您可使用全局 javascript 函數(shù) isnan() 來(lái)確定某個(gè)值是否是數(shù):

范例

var x = 100 / "apple";
isnan(x);        // 返回 true,因?yàn)?x 不是數(shù) 

要小心 nan。假如您在數(shù)學(xué)運(yùn)算中使用了 nan,則結(jié)果也將是 nan

范例

var x = nan;
var y = 5;
var z = x + y;  // z 將是 nan 

結(jié)果也許是串連接:

范例

var x = nan;
var y = "5";
var z = x + y;  // z 將是 nan5 

nan 是數(shù),typeof nan 返回 number

范例

typeof nan;      // 返回 "number"

下一節(jié):js 數(shù)值方法

js 教程

相關(guān)文章