你不知道的js(中卷) 第2章 值

1.數(shù)組

??????JavaScript中數(shù)組不需要預(yù)設(shè)長度,數(shù)組元素值不限類型。
??????使用delete運(yùn)算符可以把元素從數(shù)組中刪除,刪除后,數(shù)組的length屬性不會(huì)發(fā)生變化。
??????數(shù)組中如果有空缺的位(亂舉個(gè)例子:比如長度為10,下標(biāo)9為空缺)就叫做“稀疏數(shù)組”。其中的“空白單元”可能會(huì)導(dǎo)致一些出人意料的結(jié)果,具體將在第3章講。
??????數(shù)組也是對(duì)象,對(duì)象可以增加字符串鍵值,但對(duì)于數(shù)組對(duì)象來說,如果字符串鍵值能夠被強(qiáng)制類型轉(zhuǎn)換為十進(jìn)制數(shù)字,它就會(huì)被當(dāng)成數(shù)字索引。

arr['12'] = 1
arr.length // 13

??????類數(shù)組:DOM查詢返回的DOM元素列表、arguments對(duì)象(ES6開始已經(jīng)廢止)
??????有時(shí)需要將類數(shù)組轉(zhuǎn)換為真正的數(shù)組,一般可用數(shù)組工具函數(shù)(slice、forEach、concat)等來實(shí)現(xiàn)。


2.字符串

??????JavaScript中字符串不可變,就是說字符串的成員函數(shù)不會(huì)改變其原始值,而是創(chuàng)建并返回一個(gè)新的字符串。

??????字符串可以“借用”數(shù)組非變更方法,如join、map,可以用硬指定this的方法,讓字符串“調(diào)用”join、map方法。
??????但字符串不能“借用”數(shù)組的reverse方法。


3.數(shù)字

??????JavaScript只有一種數(shù)值類型:number,JavaScript的number屬于雙精度浮點(diǎn)數(shù)。

??????js的number的語法:
??????小數(shù)點(diǎn)前如果是0,可以省略;小數(shù)點(diǎn)后面如果是0,也可以省略。
??????特別大的和特別小的數(shù)字默認(rèn)用指數(shù)格式顯式。
??????Number.toPrecision方法用來指定有效數(shù)位的顯示位數(shù)。
??????數(shù)字字面量可以調(diào)用Number的方法,但是注意,點(diǎn)會(huì)被優(yōu)先當(dāng)作數(shù)字字面量的一部分,比如42.toFixed(3)會(huì)報(bào)錯(cuò),42.0.toFixed(3)或者42..toFixed(3)才行。
??????0x打頭表示16進(jìn)制,0b打頭表示二進(jìn)制,0o打頭表示八進(jìn)制。

??????浮點(diǎn)數(shù)有個(gè)問題,因?yàn)橛芯葐栴}不好比較相等。0.1 + 0.2 === 0.3 // false
??????所以判斷浮點(diǎn)數(shù)相等需要一個(gè)誤差范圍。ES6中,Number.EPSILON表示“機(jī)器精度”,一般是2^-52。
??????Math.abs(a, b) < Number.EPSILON可判斷浮點(diǎn)數(shù)是否相等。
??????js浮點(diǎn)數(shù)能夠呈現(xiàn)的最大值定義在Number.MAX_VALUE,最小值在Number.MIN_VALUE
??????“整數(shù)”的安全范圍是:最大2^53-1,最小-9007199254740991。ES6把它定義在Number.MAX_SAFE_INTEGER和Number.MIN_SAFE_INTEGER。(比浮點(diǎn)數(shù)最大范圍小)
??????安全整數(shù)最大能到53位,但數(shù)位操作只能適用于32位數(shù)字,所以這些數(shù)字操作的安全范圍更小。

??????Number.isInterger可判斷是否整數(shù)
??????Number.isSafeInteger可判斷是否安全整數(shù)


4.特殊數(shù)值

??????undefined表示missing value
??????null表示empty value

??????void運(yùn)算符:一元運(yùn)算符,可以出現(xiàn)在任意類型的操作數(shù)之前執(zhí)行操作數(shù),卻忽略操作數(shù)的返回值,返回一個(gè)undefined

??????NaN:意指“無效數(shù)值”。NaN與自身不相等,所以可以用內(nèi)置的全局工具函數(shù)isNaN來判斷一個(gè)值是否是NaN。

??????Infinity:無窮。Infinity/Infinity結(jié)果為NaN。

??????負(fù)0:JavaScript中有-0,它有些啰里啰唆的特點(diǎn)我這里就不抄了,它存在的意義是有些程序中需要符號(hào)來表示方向信息或者其它信息。

??????ES6有一個(gè)Object.is方法可以用來判斷兩個(gè)值是否絕對(duì)相等,像NaN、-0這些特殊值可以用它來判斷。其它情況下,能用==和===的就沒必要用Object.is,因?yàn)楹笳咝什桓摺?/p>


5.值和引用

??????簡單標(biāo)量基本類型值(字符串和數(shù)字等)通過值復(fù)制來賦值/傳遞,而復(fù)合值(對(duì)象等)通過引用復(fù)制來賦值/傳遞。JavaScript中的引用和其他語言中的引用/指針不同,它們不能指向別的變量/引用,只能指向值。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,030評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,310評(píng)論 3 415
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,951評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,796評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,566評(píng)論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,055評(píng)論 1 322
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,142評(píng)論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,303評(píng)論 0 288
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,799評(píng)論 1 333
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,683評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,899評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,409評(píng)論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,135評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,520評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,757評(píng)論 1 282
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,528評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,844評(píng)論 2 372