ECMAScript?數(shù)據(jù)類型之Number類型
前言
本文為【JSRedBook】中數(shù)據(jù)類型的篇章, 主要講述 ECMAScript 的 6 種簡(jiǎn)單數(shù)據(jù)類型(原始類型)中的其中一種:Number
類型;主要說(shuō)明五個(gè)方面:Number定義,浮點(diǎn)值,值的范圍,NaN與 數(shù)值轉(zhuǎn)換;
Number 類型:
Number
類型使用 IEEE 754
格式表示整數(shù)和浮點(diǎn)值(在某些語(yǔ)言中也叫雙精度值),不同的數(shù)值類型相應(yīng)地也有不同的數(shù)值字面量格式。
練習(xí)場(chǎng)景
最基本的數(shù)值字面量格式是十進(jìn)制整數(shù),如下:
?const intNum = 42;
其他進(jìn)制
整數(shù)也可以用八進(jìn)制(以 8 為基數(shù))或十六進(jìn)制(以 16 為基數(shù))字面量表示
八進(jìn)制
對(duì)于八進(jìn)制字面量,第一個(gè)數(shù)字必須是零(0),然后是相應(yīng)的八進(jìn)制數(shù)字(數(shù)值 0~7),如果字面量中包含的數(shù)字超出了應(yīng)有的范圍,就會(huì)忽略前綴的零,后面的數(shù)字序列會(huì)被當(dāng)成十進(jìn)制數(shù)。
下面是幾個(gè)例子:
?let octalNum1 = 070; // 八進(jìn)制的 56 ?let octalNum2 = 079; // 無(wú)效的八進(jìn)制值,當(dāng)成 79 處理 ?let octalNum3 = 08; // 無(wú)效的八進(jìn)制值,當(dāng)成 8 處理
注意: 八進(jìn)制字面量在嚴(yán)格模式下是無(wú)效的,會(huì)導(dǎo)致 JavaScript 引擎拋出語(yǔ)法錯(cuò)誤
原因是ECMAScript 2015
或 ES6
中的八進(jìn)制值通過(guò)前綴 0o
來(lái)表示;嚴(yán)格模式下,前綴 0
會(huì)被視為語(yǔ)法錯(cuò)誤,如果要表示八進(jìn)制值,應(yīng)該使用前綴 0o
十六進(jìn)制
要?jiǎng)?chuàng)建十六進(jìn)制字面量,必須讓真正的數(shù)值前綴 0x
(區(qū)分大小寫),然后是十六進(jìn)制數(shù)字(09 以 及 AF),十六進(jìn)制數(shù)字中的字母大小寫均可
下面是幾個(gè)例子:
?let hexNum1 = 0xA; // 十六進(jìn)制 10 ?let hexNum2 = 0x1f; // 十六進(jìn)制 31
使用八進(jìn)制和十六進(jìn)制格式創(chuàng)建的數(shù)值在所有數(shù)學(xué)操作中都被視為十進(jìn)制數(shù)值。
注意: 由于 JavaScript 保存數(shù)值的方式,實(shí)際中可能存在正零(+0)和負(fù)零(-0);其中正零和負(fù)零在所有情況下都被認(rèn)為是等同的
浮點(diǎn)值
要定義浮點(diǎn)值,數(shù)值中必須包含小數(shù)點(diǎn),而且小數(shù)點(diǎn)后面必須至少有一個(gè)數(shù)字,雖然小數(shù)點(diǎn)前面不是必須有整數(shù),但推薦加上
下面是幾個(gè)例子:
?const floatNum1 = 1.1; ?const floatNum2 = 0.1; ?const floatNum3 = .1; // 有效 但不推薦
因?yàn)榇鎯?chǔ)浮點(diǎn)值使用的內(nèi)存空間是存儲(chǔ)整數(shù)值的兩倍,所以 ECMAScript
總是想方設(shè)法把值轉(zhuǎn)換為整數(shù)。在小數(shù)點(diǎn)后面沒(méi)有數(shù)字的情況下,數(shù)值就會(huì)變成整數(shù)。類似地,如果數(shù)值本身就是整數(shù),只是小數(shù)點(diǎn)后面跟著 0(如 1.0),那它也會(huì)被轉(zhuǎn)換為整數(shù).
下面是幾個(gè)例子:
?let floatNum1 = 1.; // 小數(shù)點(diǎn)后面沒(méi)有數(shù)字,當(dāng)成整數(shù) 1 處理 ?let floatNum2 = 10.0; // 小數(shù)點(diǎn)后面是零,當(dāng)成整數(shù) 10 處理
科學(xué)計(jì)數(shù)法
科學(xué)記數(shù)法用于表示一個(gè)應(yīng)該乘以10 的給定次冪的數(shù)值,對(duì)于非常大或非常小的數(shù)值浮點(diǎn)值可以用科學(xué)記數(shù)法來(lái)表示。
ECMAScript
中科學(xué)記數(shù)法的格式要求是一個(gè)數(shù)值(整數(shù)或浮點(diǎn)數(shù))后跟一個(gè)大寫或小寫的字母 e,再加上一個(gè)要乘的 10 的多少次冪。如下:
?let floatNum = 3.125e7; // 等于 31250000
解法:3.125 作為系數(shù),乘以 10 的 7 次冪,正常也直接書(shū)寫出來(lái),只是用科學(xué)計(jì)數(shù)法會(huì)更加簡(jiǎn)潔。
小數(shù)值
科學(xué)記數(shù)法也可以用于表示非常小的數(shù)值
默認(rèn)情況下,ECMAScript
會(huì)將小數(shù)點(diǎn)后至少包含 6 個(gè)零的浮點(diǎn)值轉(zhuǎn)換為科學(xué)記數(shù)法
例如,0.0000003 用科學(xué)記數(shù)法可以表示為 3e-7 ,又例如 0.000000000000000 03 會(huì)被轉(zhuǎn)換為 3e-17;
不清晰的話請(qǐng)看下圖:
浮點(diǎn)值精確度
浮點(diǎn)值的精確度最高可達(dá) 17 位小數(shù),但在算術(shù)計(jì)算中遠(yuǎn)不如整數(shù)精確。
舉例一個(gè)坑, 0.1 加 0.2 得到的不是 0.3,而是 0.30000000000000004,如下:
?/* 這里檢測(cè)兩個(gè)數(shù)值之和是否等于 0.3 */ ?? ?if (a + b == 0.3) { // 別這么干! ? console.log("You got 0.3."); ?} // 并不等于 0.3 因此if中的語(yǔ)句不會(huì)執(zhí)行
如果兩個(gè)數(shù)值分別是 0.05 和 0.25,或者 0.15 和 0.15,那沒(méi)問(wèn)題;但如果是 0.1 和 0.2,如前所述,測(cè)試將失敗。由于這種微小的舍入錯(cuò)誤,導(dǎo)致很難測(cè)試,因此永遠(yuǎn)不要測(cè)試某個(gè)特定的浮點(diǎn)值。
注意: 之所以存在這種舍入錯(cuò)誤,是因?yàn)槭褂昧?nbsp;IEEE 754 數(shù)值,這種錯(cuò)誤并非 ECMAScript 所獨(dú)有,其他使用相同格式的語(yǔ)言也有這個(gè)問(wèn)題。
值的范圍
由于內(nèi)存的限制,ECMAScript
并不支持表示這個(gè)世界上的所有數(shù)值
最大值與最小值
ECMAScript
可以表示的最小數(shù)值保存在 Number.MIN_VALUE
中,這個(gè)值在多數(shù)瀏覽器中是 5e-324;可以表示的最大數(shù)值保存在 Number.MAX_VALUE
中,這個(gè)值在多數(shù)瀏覽器中是1.7976931348623157e+308。
小知識(shí): 使用 Number.NEGATIVE_INFINITY(負(fù)無(wú)窮大) 和 Number.POSITIVE_INFINITY(正無(wú)窮大) 也可以獲取正負(fù) Infinity
Infinity
如果某個(gè)計(jì)算得到的數(shù)值結(jié)果超出了 JavaScript 可以表示的范圍,那么這個(gè)數(shù)值會(huì)被自動(dòng)轉(zhuǎn)換為一個(gè)特殊的 Infinity(無(wú)窮)值
;任何無(wú)法表示的負(fù)數(shù)以 -Infinity(負(fù)無(wú)窮大)
表示,任何無(wú)法表示的正數(shù)以 Infinity(正無(wú)窮大)
表示。
isFinite() 函數(shù)
如果計(jì)算返回正 Infinity 或負(fù) Infinity,則該值將不能再進(jìn)一步用于任何計(jì)算
這是因?yàn)?Infinity 沒(méi)有可用于計(jì)算的數(shù)值表示形式,如果要確定一個(gè)值是不是有限大(即介于 JavaScript 能表示的最小值和最大值之間),可以使用 isFinite()
函數(shù),如下所示:
?let result = Number.MAX_VALUE + Number.MAX_VALUE; ?console.log(isFinite(result)); // false
注意: 雖然超出有限數(shù)值范圍的計(jì)算并不多見(jiàn),但總歸還是有可能的;因此在計(jì)算非常大或非常小的數(shù)值時(shí),有必要檢測(cè)一下計(jì)算結(jié)果是否超出范圍。
NaN
有一個(gè)特殊的數(shù)值叫 NaN
,意思是 Not a Number(不是數(shù)值),用于表示本來(lái)要返回?cái)?shù)值的操作失敗了(而不是拋出錯(cuò)誤)。
練習(xí)場(chǎng)景
比如,用 0 除任意數(shù)值在其他語(yǔ)言中通常都會(huì)導(dǎo)致錯(cuò)誤,從而中止代碼執(zhí)行。
但在 ECMAScript
中,0、 +0 或 -0 相除都會(huì)返回 NaN
:
?console.log( 0/0 ); // NaN ?console.log( -0/+0 ); // NaN
如果分子是非 0 值,分母是有符號(hào) 0 或無(wú)符號(hào) 0,則會(huì)返回 Infinity
或 -Infinity
:
?console.log( 5/0 ); ?// Infinity ?console.log( 5/-0 ); ?// -Infinity
NaN特性
任何涉及 NaN
的操作始終返回 NaN
(如 NaN/10),并且 NaN
不等于包括 NaN
在內(nèi)的任何值。
例如,下面的比較操作會(huì)返回 false:
?console.log(NaN == NaN); // false
isNaN()函數(shù)
ECMAScript
提供了 isNaN
()函數(shù)用于判斷檢測(cè)數(shù)值。
用法: 該函數(shù)接收一個(gè)參數(shù),可以是任意數(shù)據(jù)類型,然后判斷這個(gè)參數(shù)是否 “不是數(shù)值”。
性質(zhì): 把一個(gè)值傳給 isNaN()
后,該函數(shù)會(huì)嘗試把它轉(zhuǎn)換為數(shù)值;某些非數(shù)值的值可以直接轉(zhuǎn)換成數(shù)值,如字符串"10"或布爾值;任何不能轉(zhuǎn)換為數(shù)值的值都會(huì)導(dǎo)致這個(gè)函數(shù)返回true。
語(yǔ)法: isNaN(vallue)
必傳,參數(shù)為要檢測(cè)的值
列舉了5種常見(jiàn)場(chǎng)景,如下:
?/* isNaN:[潛意思]你是不是非數(shù)值或者不能轉(zhuǎn)數(shù)值呀 */ ?? ?console.log(isNaN(NaN)); // true ?console.log(isNaN(10)); // false,10 是數(shù)值 ?console.log(isNaN("10")); // false,可以轉(zhuǎn)換為數(shù)值 10 ?console.log(isNaN("blue")); // true,不可以轉(zhuǎn)換為數(shù)值 ?console.log(isNaN(true)); // false,可以轉(zhuǎn)換為數(shù)值 1
解釋: 首先測(cè)試的是 NaN
本身,因?yàn)?Not a Number ,顯然會(huì)返回 true;接著測(cè)試了數(shù)值 10
和字符串"10",都返回 false,因?yàn)樗鼈兊臄?shù)值都是 10;字符串"blue"不能轉(zhuǎn)換為數(shù)值,因此函數(shù)返
回 true;布爾值 true 可以轉(zhuǎn)換為數(shù)值 1,因此返回 false;
小知識(shí): 雖然不常見(jiàn),但
isNaN()
可以用于測(cè)試對(duì)象。機(jī)制: 首先會(huì)調(diào)用對(duì)象的
valueOf()
方法,然后再確定返回的值是否可以轉(zhuǎn)換為數(shù)值;如果不能,再調(diào)用toString()
方法,并測(cè)試其返回值。
數(shù)值轉(zhuǎn)換
有 3 個(gè)函數(shù)可以將非數(shù)值轉(zhuǎn)換為數(shù)值:Number()
、parseInt()
和 parseFloat()
。
Number()
Number()
是轉(zhuǎn)型函數(shù),可用于任何數(shù)據(jù)類型。
語(yǔ)法
Number(object)
參數(shù)可選,為一個(gè) JavaScript 對(duì)象;如果沒(méi)有提供參數(shù),則返回0。
Number()函數(shù)轉(zhuǎn)換規(guī)則:
- 布爾值,true 轉(zhuǎn)換為 1,false 轉(zhuǎn)換為 0
- 數(shù)值,直接返回
- null,返回 0
- undefined,返回
NaN
字符串,應(yīng)用以下規(guī)則:
- 如果字符串包含數(shù)值字符,包括數(shù)值字符前面帶加、減號(hào)的情況,則轉(zhuǎn)換為一個(gè)十進(jìn)制數(shù)值。
- 因此,Number("123")返回 123,Number("011") 返回 11(忽略前面的零)
- 如果字符串包含有效的浮點(diǎn)值格式如"1.1",則會(huì)轉(zhuǎn)換為相應(yīng)的浮點(diǎn)值(忽略前面的零)。
- 如果字符串包含有效的十六進(jìn)制格式如"
0xf
",則會(huì)轉(zhuǎn)換為與該十六進(jìn)制值對(duì)應(yīng)的十進(jìn)制整
數(shù)值:
如果是空字符串(不包含字符),則返回 0
如果字符串包含除上述情況之外的其他字符,則返回 NaN
對(duì)象,調(diào)用 valueOf()
方法,并按照上述規(guī)則轉(zhuǎn)換返回的值。如果轉(zhuǎn)換結(jié)果是 NaN
,則調(diào)用toString()
方法,再按照轉(zhuǎn)換字符串的規(guī)則轉(zhuǎn)換
Number()函數(shù)場(chǎng)景練習(xí)
從不同數(shù)據(jù)類型到數(shù)值的轉(zhuǎn)換有時(shí)候會(huì)比較復(fù)雜,看一看 Number()
的轉(zhuǎn)換規(guī)則就知道了
下面是幾個(gè)具體的例子:
?Number("一二三") // NaN ?Number(undefined) //NaN ?Number("001.01") // 1.01 ?Number("") // 0 ?Number(null) // 0
可以看到,字符串 "一二三" 轉(zhuǎn)換之后是 NaN
,因?yàn)樗也坏綄?duì)應(yīng)的數(shù)值;undefined轉(zhuǎn)換后為NaN
;字符串 001.101 轉(zhuǎn)換后是 1.01
,因?yàn)榍懊娴牧惚缓雎粤耍蛔詈?strong>空字符串與null轉(zhuǎn)換后都是 0
;
parseInt()
parseInt()
函數(shù)會(huì)解析一個(gè)字符串,并返回一個(gè)整數(shù),并且更專注于字符串是否包含數(shù)值模式。
語(yǔ)法
parseInt(string, radix)
參數(shù)1必選,為要被解析的字符串。
參數(shù)2可選,表示要解析的數(shù)字的基數(shù);該值介于 2 ~ 36 之間。
parseInt()函數(shù)轉(zhuǎn)換規(guī)則
- 字符串最前面的空格會(huì)被忽略,從第一個(gè)非空格字符開(kāi)始轉(zhuǎn)換
- 如果第一個(gè)字符不是數(shù)值字符、加號(hào)或減號(hào),
parseInt()
立即返回NaN
; 這意味著空字符串也會(huì)返回NaN
(這一點(diǎn)跟 Number()不一樣,它返回 0)。 - 如果第一個(gè)字符是數(shù)值字符、加號(hào)或減號(hào),則繼續(xù)依次檢測(cè)每個(gè)字符,直到字符串末尾,或碰到非數(shù)值字符;如, "1234blue" 會(huì)被轉(zhuǎn)換為 1234,因?yàn)?"blue" 會(huì)被完全忽略;類似地,"22.5"會(huì)被轉(zhuǎn)換為 22,因?yàn)樾?shù)點(diǎn)不是有效的整數(shù)字符。
進(jìn)制轉(zhuǎn)換
假設(shè)字符串中的第一個(gè)字符是數(shù)值字符,parseInt()
函數(shù)也能識(shí)別不同的整數(shù)格式(十進(jìn)制、八進(jìn)制、十六進(jìn)制);換句話說(shuō),如果字符串以"0x
"開(kāi)頭,就會(huì)被解釋為十六進(jìn)制整數(shù);如果字符串以"0
"開(kāi)頭,且緊跟著數(shù)值字符,在非嚴(yán)格模式下會(huì)被某些實(shí)現(xiàn)解釋為八進(jìn)制整數(shù)
parseInt()函數(shù)練習(xí)場(chǎng)景
只有一個(gè)參數(shù)的場(chǎng)景
請(qǐng)看下面幾個(gè)例子:
?parseInt("22") ?// 22 ?parseInt("21.33") // 21 ?parseInt(" 34 age 43 ") ?// 34 ?parseInt("Are you 99 ?") ?// NaN ?parseInt("0010") // 10
兩個(gè)參數(shù)的場(chǎng)景
不同的數(shù)值格式很容易混淆,因此 parseInt()
也接收第二個(gè)參數(shù),用于指定底數(shù)(進(jìn)制數(shù))。如果知道要解析的值是十六進(jìn)制,那么可以傳入 16 作為第二個(gè)參數(shù),以便正確解析:
?parseInt("0xAF", 16); // 175 ?parseInt("33",8) // 102
事實(shí)上,如果提供了十六進(jìn)制參數(shù),那么字符串前面的"0x
"可以省掉:
?let num1 = parseInt("AF", 16); // 175 ?let num2 = parseInt("AF"); // NaN
在這個(gè)例子中,第一個(gè)轉(zhuǎn)換是正確的,而第二個(gè)轉(zhuǎn)換失敗了。區(qū)別在于第一次傳入了進(jìn)制數(shù)作為參數(shù),告訴 parseInt()
要解析的是一個(gè)十六進(jìn)制字符串。而第二個(gè)轉(zhuǎn)換檢測(cè)到第一個(gè)字符就是非數(shù)值字符,隨即自動(dòng)停止并返回 NaN
。
通過(guò)第二個(gè)參數(shù),可以極大擴(kuò)展轉(zhuǎn)換后獲得的結(jié)果類型。比如:
?let num1 = parseInt("10", 2); // 2 按二進(jìn)制解析 ?let num2 = parseInt("10", 8); // 8 按八進(jìn)制解析 ?let num3 = parseInt("10", 10); // 10,按十進(jìn)制解析 ?let num4 = parseInt("10", 16); // 16,按十六進(jìn)制解析
因?yàn)椴粋鞯讛?shù)參數(shù)相當(dāng)于讓 parseInt()
自己決定如何解析,所以為避免解析出錯(cuò),建議始終傳給它第二個(gè)參數(shù)。
注意: 大多數(shù)情況下解析的應(yīng)該都是十進(jìn)制數(shù),此時(shí)第二個(gè)參數(shù)就要傳入10.
parseFloat()
parseFloat()
函數(shù)可解析一個(gè)字符串,并返回一個(gè)浮點(diǎn)數(shù)
從下標(biāo) 0 開(kāi)始檢測(cè)每個(gè)字符,解析到字符串末尾或者解析到一個(gè)無(wú)效的浮點(diǎn)數(shù)值字符為止;與parseInt()
不同的是它第一次出現(xiàn)的小數(shù)點(diǎn)是有效的,但第二次出現(xiàn)的小數(shù)點(diǎn)就無(wú)效了,此時(shí)字符串的剩余字符都會(huì)被忽略
語(yǔ)法
parseFloat(string)
參數(shù)必選,為要被解析的字符串。
parseFloat()函數(shù)轉(zhuǎn)換規(guī)則
parseFloat()
函數(shù)的另一個(gè)不同之處在于,它始終忽略字符串開(kāi)頭的零。
這個(gè)函數(shù)能識(shí)別前面討論的所有浮點(diǎn)格式,以及十進(jìn)制格式(開(kāi)頭的零始終被忽略),十六進(jìn)制數(shù)值始終會(huì)返回 ;因?yàn)?nbsp;parseFloat()
只解析十進(jìn)制值,因此不能指定底數(shù)。
parseInt()函數(shù)練習(xí)場(chǎng)景
下面是幾個(gè)示例:
?parseFloat("1234blue"); // 1234,按整數(shù)解析 ?parseFloat("0xA"); // 0 ?parseFloat("22.5"); // 22.5 ?parseFloat("0022.34.5"); // 22.34 ?parseFloat("3.125e7"); // 31250000
注意: 如果字符串表示整數(shù)(沒(méi)有小數(shù)點(diǎn)或者小數(shù)點(diǎn)后面只有一個(gè)零),則
parseFloat()
返回整數(shù)
總結(jié)
Number類型為JavaScript中唯一的數(shù)字類型,整數(shù)的精度最多為15位
- 進(jìn)制: JavaScript 會(huì)把數(shù)值常量解析,若前綴為
0
,則解釋為八進(jìn)制數(shù);如果前綴為 "0x
",則解釋為十六進(jìn)制數(shù) - 浮點(diǎn)值: 要定義浮點(diǎn)值,數(shù)值中必須包含小數(shù)點(diǎn),而且小數(shù)點(diǎn)后面必須至少有一個(gè)數(shù)字
- 科學(xué)記數(shù)法: 用于表示一個(gè)應(yīng)該乘以10 的給定次冪的數(shù)值,較大的數(shù)值使用它會(huì)更加簡(jiǎn)潔
- 無(wú)窮: 最大值(Infinity)表示 1.7976931348623157e+308,最小值表示 5e-324
- NaN: 意思是 Not a Number(不是數(shù)值),可以把 Number 對(duì)象設(shè)置為該值,來(lái)指示其不是數(shù)字值;任何涉及
NaN
的操作始終返回NaN
,并且NaN
不等于包括NaN
在內(nèi)的任何值 Number()
適用于向多樣類型轉(zhuǎn)型為數(shù)值型parseInt()
適用于將字符串轉(zhuǎn)換成浮點(diǎn)數(shù)parseFloat()
適用于將字符串轉(zhuǎn)換成整型數(shù)字
到此這篇關(guān)于 ECMAScript 數(shù)據(jù)類型之Number類型的文章就介紹到這了,更多相關(guān) ECMAScript Number類型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
window.open不被攔截的簡(jiǎn)單實(shí)現(xiàn)代碼(推薦)
下面小編就為大家?guī)?lái)一篇window.open不被攔截的簡(jiǎn)單實(shí)現(xiàn)代碼(推薦) 。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08詳談javascript精度問(wèn)題與調(diào)整
下面小編就為大家?guī)?lái)一篇詳談javascript精度問(wèn)題與調(diào)整。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07使用Layer組件彈出多個(gè)對(duì)話框(非嵌套)與關(guān)閉及刷新的例子
今天小編就為大家分享一篇使用Layer組件彈出多個(gè)對(duì)話框(非嵌套)與關(guān)閉及刷新的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09防止動(dòng)態(tài)加載JavaScript引起的內(nèi)存泄漏問(wèn)題
利用Script標(biāo)簽可以跨域加載并運(yùn)行一段JavaScript腳本, 但Neil Fraser先前已指出,腳本運(yùn)行后資源并沒(méi)被釋放,即使是Script標(biāo)簽移除后。2009-10-10微信小程序?qū)崿F(xiàn)五星評(píng)價(jià)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)五星評(píng)價(jià),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08BootStrap.css 在手機(jī)端滑動(dòng)時(shí)右側(cè)出現(xiàn)空白的原因及解決辦法
這篇文章主要介紹了BootStrap.css 在手機(jī)端滑動(dòng)時(shí)右側(cè)出現(xiàn)空白的原因及解決辦法的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06