国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

《javascript高級程序設(shè)計(jì)》筆記:Number類型

Tychio / 414人閱讀

摘要:用表示法表示的數(shù)值等于前面的數(shù)值乘以的指數(shù)次冪。下面是一個使用表示法表示數(shù)值的例子等于注意浮點(diǎn)類型精度控制的兩個方法是原型上實(shí)現(xiàn)的一個方法,其作用是對一個浮點(diǎn)數(shù)進(jìn)行四舍五入并保留固定小數(shù)位。

進(jìn)制表示

談到Number類型,不得不提進(jìn)制(此處不做過多介紹)
八進(jìn)制字面值的第一位必須是零(0),然后是八進(jìn)制數(shù)字序列(0~7)
十六進(jìn)制字面值的前兩位必須是 0x,后跟任何十六進(jìn)制數(shù)字(0~9 及 A~F)

var intNum = 55;         // 整型

var octalNum1 = 070;     // 八進(jìn)制的56
var octalNum2 = 079;     // 無效的八進(jìn)制-解析為79

var hexNum1 = 0xA;       // 十六進(jìn)制的10
var hexNum2 = 0x1f;      // 十六進(jìn)制的31
浮點(diǎn)數(shù)值

所謂浮點(diǎn)數(shù)值,就是該數(shù)值中必須包含一個小數(shù)點(diǎn),并且小數(shù)點(diǎn)后面必須至少有一位數(shù)字。雖然小 數(shù)點(diǎn)前面可以沒有整數(shù),但我們不推薦這種寫法。以下是浮點(diǎn)數(shù)值的幾個例子:

var floatNum1 = 1.1;
var floatNum2 = 0.1;
var floatNum3 = .1; // 有效,但不推薦

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

var floatNum1 = 1.; // 小數(shù)點(diǎn)后面沒有數(shù)字——解析為 1 
var floatNum2 = 10.0; // 整數(shù)——解析為 10

對于那些極大或極小的數(shù)值,可以用 e 表示法(即科學(xué)計(jì)數(shù)法)表示的浮點(diǎn)數(shù)值表示。用 e 表示法表示的數(shù)值等于 e 前面的數(shù)值乘以 10 的指數(shù)次冪。ECMAScript 中 e 表示法的格式也是如此,即前面是一個數(shù)值(可以是整數(shù)也可以是浮點(diǎn)數(shù)),中間是一個大寫或小寫的字母 E,后面是10的冪中的指數(shù),該冪值將用來與前面的數(shù)相乘。下面是一個使用 e 表示法表示數(shù)值的例子:

var floatNum = 3.125e7; // 等于31250000

注意: 0.1+0.2 !== 0.3

浮點(diǎn)類型精度控制的兩個方法 toFixed / toPrecision

toFixed是Number原型上實(shí)現(xiàn)的一個方法,其作用是對一個浮點(diǎn)數(shù)進(jìn)行四舍五入并保留固定小數(shù)位。 toFixed需要傳遞一個參數(shù),其調(diào)用方式如下:

100.456001.toFixed(2); //100.47

100.456001.toFixed(3); //100.456

Number.prototype.toFixed.call(100.456001,2);  //100.47

toPrecison也是Number原型上實(shí)現(xiàn)的一個處理浮點(diǎn)數(shù)的方法,和toFixed不同的是,它是對一個浮點(diǎn)數(shù)進(jìn)行四舍五入并保留固定長度的有效數(shù)字,包括整數(shù)部分

99.456001.toPrecision(5);  //99.456

100.456001.toPrecision(5); //100.46

Number.prototype.toPrecision.call(10.456001,5);  //10.456
Infinity / -Infinity

由于內(nèi)存的限制,ECMAScript 能夠表示的最小數(shù)值為5e-324,能夠表示的最大數(shù)值為1.7976931348623157e+308;

當(dāng)超出這個范圍時這個數(shù)值將被自動轉(zhuǎn)換成特殊的 Infinity 值。具體來說,如果這個數(shù)值是負(fù)數(shù),則會被轉(zhuǎn)換成-Infinity(負(fù)無窮),如果這個數(shù)值是正數(shù),則會被轉(zhuǎn)換成 Infinity(正無窮)

通過 isFinite() 判斷數(shù)值是否超出限制
非數(shù)字類型會先轉(zhuǎn)換成數(shù)值類型再做判別
未超出限制返回true,超出限制返回false

isFinite(NaN); // false
isFinite(Infinity); // false
isFinite(-Infinity); // false
isFinite(0); // true
isFinite("a"); // false
NaN

NaN,即非數(shù)值(Not a Number)是一個特殊的數(shù)值,這個數(shù)值用于表示一個本來要返回?cái)?shù)值的操作數(shù)未返回?cái)?shù)值的情況(這樣就不會拋出錯誤了)。

兩個特點(diǎn):
(1)任何涉及 NaN 的操作(例如 NaN/10)都會返回 NaN
(2)NaN 與任何值都不相等,包括 NaN 本身

通過 isNaN() 判斷變量是否為NaN
非數(shù)字類型會先轉(zhuǎn)換成數(shù)值類型再做判別
不是數(shù)值返回true,是數(shù)值返回false

alert(isNaN(NaN)); //true
alert(isNaN(10)); //false(10 是一個數(shù)值)
alert(isNaN("10")); //false(可以被轉(zhuǎn)換成數(shù)值 10)
alert(isNaN("blue")); //true(不能轉(zhuǎn)換成數(shù)值)
alert(isNaN(true)); //false(可以被轉(zhuǎn)換成數(shù)值 1)

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/84742.html

相關(guān)文章

  • javascript高級程序設(shè)計(jì)筆記:valueOf() / toString() 對比

    摘要:中這樣描述和調(diào)用方法用來把對象轉(zhuǎn)換成原始類型的值數(shù)值字符串和布爾值。你很少需要自己調(diào)用此函數(shù)當(dāng)遇到一種需要轉(zhuǎn)換成一個原始值情況時候,會自動調(diào)用此函數(shù)。默認(rèn)情況下會被每個對象繼承。 MDN 中這樣描述 valueOf() 和 toString(): JavaScript 調(diào)用 valueOf() 方法用來把對象轉(zhuǎn)換成原始類型的值(數(shù)值、字符串和布爾值)。 你很少需要自己調(diào)用此函數(shù);當(dāng)...

    yzzz 評論0 收藏0
  • JavaScript高級程序設(shè)計(jì)筆記:基本概念

    摘要:一寫在前面最近重讀高級程序設(shè)計(jì),總結(jié)下來,查漏補(bǔ)缺。但這種影響是單向的修改命名參數(shù)不會改變中對應(yīng)的值。這是因?yàn)閷ο蟮拈L度是由傳入的參數(shù)個數(shù)決定的,不是由定義函數(shù)時的命名參數(shù)的個數(shù)決定的。實(shí)際改變會同步,改變也會同步 一、寫在前面 最近重讀《JavaScript高級程序設(shè)計(jì)》,總結(jié)下來,查漏補(bǔ)缺。 二、JS簡介 2.1 JS組成 ECMAscript:以ECMA-262為基礎(chǔ)的語言,由...

    ygyooo 評論0 收藏0
  • javascript高級程序設(shè)計(jì)筆記:變量及變量檢測

    摘要:變量的特點(diǎn)變量是松散類型的,所謂松散類型就是可以用來保存任何類型的數(shù)據(jù)。 變量的特點(diǎn) js變量是松散類型的,所謂松散類型就是可以用來保存任何類型的數(shù)據(jù)。換句話說, 每個變量僅僅是一個用于保存值的占位符而已 js變量可以用來保存任何值,未經(jīng)過初始化的變量,會保存一個特殊的值—undefined,如:var msg; js變量的初始化并不會為它標(biāo)記類型;初始化的過程就是給變量賦一個值那...

    XiNGRZ 評論0 收藏0
  • 004-讀書筆記-JavaScript高級程序設(shè)計(jì) 基本概念(下)

    摘要:操作符,會將數(shù)值改變正數(shù)變成負(fù)數(shù)負(fù)數(shù)變成正數(shù)。同時,也說明了,使用兩個邏輯非操作符和的操作結(jié)果相同。操作符得到的是余數(shù)。不相等操作符有兩種。 這篇筆記的內(nèi)容對應(yīng)的是《JavaScript高級程序設(shè)計(jì)(第三版)》中的第三章。 1.操作符 1-1 一元操作符 遞增和遞減操作符 遞增和遞減操作符有兩個 ++ 和 --。一元操作符使用的時候,可以前置也可以后置。由于兩個操作方式類似,先只說明 ...

    nevermind 評論0 收藏0
  • JavaScript高級程序設(shè)計(jì)學(xué)習(xí)筆記三(基本語法)

    摘要:數(shù)據(jù)類型中有種簡單數(shù)據(jù)類型也稱為基本數(shù)據(jù)類型和。在中非空字符串,非零數(shù)字,任意對象,都被認(rèn)為。而空字符串,和,,認(rèn)為是。用于表示整數(shù)和浮點(diǎn)數(shù)。標(biāo)識符由數(shù)字字母下劃線美元符組成,但首字母不能是數(shù)字。變量方法對象命名推薦駝峰法。 JavaScript語法 一.語法簡介 因?yàn)镴avaScript語法和Java等語法非常類似。所以只是簡單介紹一下。 大小寫 JavaScript是大小寫敏感的語...

    Mike617 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<