成免费的crm,久久国产精品新农夫导航新妓网,恋夜秀场全部视频安卓手机,女校花强奷在线播放A级

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ù)可通過科學(xué)計(jì)數(shù)法來寫:

范例

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

 

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

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

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

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

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

 

3. 精度

整數(shù)(不使用指數(shù)或科學(xué)計(jì)數(shù)法)會被精確到 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

使用乘除法有助于解決上面的問題:

范例

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

 

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

警告?。?/h3>

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

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

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

范例

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

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

范例

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

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

范例

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

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

范例

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

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

范例

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

常見的錯(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" 被級聯(lián)。

 

5. 數(shù)字字符串

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

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

在所有數(shù)字運(yùn)算中,javascript 會嘗試將字符串轉(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 

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

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

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

 

6. nan - 非數(shù)值

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

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

范例

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

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

范例

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

您可使用全局 javascript 函數(shù) isnan() 來確定某個(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)文章