JS基礎(chǔ)--兩大類JS數(shù)據(jù)類型(8種數(shù)據(jù)類型)

1. 6種-基本數(shù)據(jù)類型:

⑴ 數(shù)值類型 Number

數(shù)值類型分為:

? ? ? 1.正負整數(shù) : 100;

? ? ? 2. 浮點數(shù) : 1.23奥帘;

? ? ? 3. 科學(xué)計數(shù)法 :1.23e-2 相當(dāng)于 1.23 * 10^-2;

? ? ? 4. 無窮大/無窮小 :Infinity / -Infinity思币;

? ? ? 5. 特殊的數(shù)值類型 :NaN 钞诡,注意點如下;

? ? ? ? ? ⑴ NaN 與任何 Number數(shù)據(jù)類型 做算術(shù)運算都得 NaN(包括其本身)遭赂;

? ? ? ? ? ⑵ NaN 與任何數(shù)值皆不相等循诉,包括 NaN == NaN横辆,返回 false撇他;

拓展:

? ? 獲取最大值 :Number.MAX_VALUE? 約等于(根據(jù)瀏覽器的不同)1.7976931348623157e+308;

? ? 獲取最小值 :Number.MIN_VALUE? 約等于(根據(jù)瀏覽器的不同)? ? ? ? 5e-324

? ? 雖然數(shù)字是無窮的狈蚤,但計算機的內(nèi)存是有窮盡的困肩,所以 JS 具有最大/最小值,若給最大值 * 10脆侮,會得到 Infinity锌畸。

(2)字符串類型 String

JS 中,表達字符串類型有兩種方法:

? ? 1. 使用一對單引號(英文符號)靖避,將數(shù)據(jù)包裹起來 :‘a(chǎn)bc’潭枣;

? ? 2.? 使用一對雙引號(英文符號),將數(shù)據(jù)包裹起來 :"abc"幻捏;

知識點:

? 1. 一般習(xí)慣上使用單引號盆犁,且同一份代碼文件,建議統(tǒng)一使用單引號 / 雙引號作為字符串的開始篡九;

? 2.單雙引號可以成對的互相嵌套: " '' " / ' "" '谐岁,不可以混合嵌套 :' " ' ",JS 在執(zhí)行代碼時榛臼,會把第一個遇到的單引號/雙引號作為字符串的開始伊佃,于是根據(jù)該引號,尋求下一個引號作為結(jié)束沛善,所以在單引號 / 雙引號的嵌套中航揉,第二個出現(xiàn)的雙引號 / 單引號會被認為是字符串的一部分進行解析;

? 3. 若一個字符串內(nèi)金刁,既包含單引號帅涂,又包含雙引號织咧,可以使用轉(zhuǎn)義符(反斜杠:\)來解決問題,JS 代碼在解析字符串時漠秋,會把轉(zhuǎn)義符后面的第一個符號解析為字符串的一部分 :單引號 \'? 笙蒙;雙引號? \"

⑶ 布爾類型 Boolean

布爾類型只有兩個值,常用于條件判斷語句:

? ? 1. true? 代表 真庆锦;

? ? 2. false? 代表 假捅位;

⑷ 特殊基本數(shù)據(jù)類型 Null

Null 只有唯一的一個值為 null;

? ? 1. 代表空搂抒,用typeof 判斷數(shù)據(jù)類型的時候艇搀,會返回 object

? ? 2. 一般常見于DOM操作,獲取不到數(shù)據(jù)的時候求晶,會返回 null焰雕,例如:頁面若不存在div標(biāo)簽,卻使用 document.querySelector('div') 去獲取div元素節(jié)點的時候芳杏,返回 null

? ? 3. 一般在聲明變量時矩屁,若變量值不確定,即可能由代碼在后面動態(tài)賦值爵赵,而當(dāng)前需要提前聲明而導(dǎo)致無法賦值時吝秕,建議使用 null作為默認值:var xx = null;? ? 而不是:var xx空幻;

⑸ 特殊基本數(shù)據(jù)類型 Undefined

Undefined 只有唯一的一個值為 undefined烁峭;

? 1. 代表未定義,常見于 :

? ? (1)聲明變量秕铛,卻未賦值 :var xx约郁;

? ? (2) 獲取數(shù)組中,超出數(shù)組下標(biāo)的值但两;

? ? (3)獲取對象中未定義的屬性 或方法鬓梅;

簡單理解 null 與 undefined 的區(qū)別:? null是 JS知道自己要獲取什么值,但是找不到符合條件的值镜遣;undefined 是 JS根本不知道只是一個什么東西己肮;

⑹ 【ES6新增屬性】Symbol

最全Javascript數(shù)據(jù)類型解析 - Alvabill的滿滿干貨 - CSDN博客

2. 2種復(fù)雜數(shù)據(jù)類型

⑴ 數(shù)組 Array

數(shù)組的三要素 :元素、下標(biāo)(下標(biāo)從0開始)悲关、長度(length)谎僻;

? ? 1. 數(shù)組多用于存放一組具有 排列順序的數(shù)據(jù),這個數(shù)據(jù)既可以是 基本數(shù)據(jù)類型寓辱,也可以是復(fù)雜數(shù)據(jù)類型艘绍;

? ? 2. 數(shù)組使用 typeof 檢驗數(shù)據(jù)類型是 會得到object,故建議使用其他檢驗數(shù)據(jù)類型方法檢驗(待補充新篇章秫筏,數(shù)據(jù)類型的檢驗方法)诱鞠;

? ? 3. 數(shù)組的聲明:

? ? ? (1)var arr = new Array();

? ? ? ? ? ? ? var arr = new Array(1,2,3);? 創(chuàng)建一個數(shù)據(jù)內(nèi)容為1挎挖,2,3的數(shù)組航夺;

? ? ? ? ? ? ? var arr = new Array(3);? ? 創(chuàng)建一個長度為3 的數(shù)組蕉朵;

? ? ? (2)var arr = Array();

? ? ? (3)var arr = []; 最常用

var arr = [1,2,3,];? 創(chuàng)建內(nèi)容為1阳掐,2始衅,3的數(shù)組,創(chuàng)建數(shù)組時缭保,若最后是以一個數(shù)據(jù)+逗號的形式結(jié)尾汛闸,逗號不起作用,一般忽略不寫艺骂;

var arr = [3];? 創(chuàng)建內(nèi)容為3 的數(shù)組诸老;

? 4. 數(shù)組的遍歷 :

⑵ 對象 Object?

對象分為? Object(對象) 和 Function(函數(shù)) 兩種 :

Object 對象:

? ? 1.? Object 是一種以鍵值對形式存儲數(shù)據(jù)的數(shù)據(jù)類型,這個數(shù)據(jù)既可以是 基本數(shù)據(jù)類型钳恕,也可以是復(fù)雜數(shù)據(jù)類型别伏;

? ? 2. Object 的聲明方法:

? ? ? (1)var obj = new Object();

? ? ? (2)var obj = {};? ? 最常用,推薦

? ? 3. 對象的聲明并賦值:

? ? 4. 對象的 獲取苞尝、修改與賦值:

? ? 5. 對象的遍歷 for-in :

Function 函數(shù):

函數(shù)中存放的是一段代碼

? ? 1. 函數(shù)的聲明:

? ? ? (1)function fun(形參) { 代碼 }? ? ? ? 函數(shù)的形參可以有默認值: 形參 = 默認值

? ? ? (2)var fun = function(形參) { 代碼 }? ? 使用變量接收 匿名函數(shù)

? ? ? (3)(function() { 代碼 })()? ? ? 一般函數(shù)只有被調(diào)用才會執(zhí)行畸肆,自執(zhí)行函數(shù)不需要調(diào)用就會制動執(zhí)行宦芦。

? ? 2. 函數(shù)內(nèi)的兩個特殊屬性:

? ? ? (1)arguments? ? 函數(shù)內(nèi)默認用來保存所有實參的一個數(shù)組宙址;

? ? ? (2)this? ? ? ? ? ? ? 對象 與 構(gòu)造函數(shù) 常用,這個屬性默認指待window本身调卑,但這不是固定的抡砂,簡單記憶就是,誰點出這個方法(函數(shù))恬涧,this就指向誰注益。? ? ? 默認的函數(shù)調(diào)用比如: obj()? 本質(zhì)是 window.obj(),window是一個JS中最頂級的對象溯捆。? 如果聲明一個對象丑搔,對象中有一個方法,方法中的this 就代表當(dāng)前這個對象提揍。


3. 基本數(shù)據(jù)類型 和 復(fù)雜數(shù)據(jù)類型 的區(qū)別

存儲方式不同

瀏覽器會在在計算機的內(nèi)存中啤月,分出多個空間用于緩存數(shù)據(jù),其中三個為 : 字符串常量區(qū)劳跃、棧谎仲、堆。

? (1)字符串常量區(qū)用于儲存唯一的(不重復(fù))字符串刨仑,當(dāng) JS代碼需要聲明變量存儲字符串時郑诺,會優(yōu)先在字符串常量區(qū)遍歷夹姥,看是否存在這個字符串,如存在辙诞,直接拷貝一份辙售,并將其跟變量名一起儲存于棧中,若不存在飞涂,則先生成一個在字符串常量區(qū)圾亏,再執(zhí)行拷貝操作。? ? ? ? ? ? ? ? ? ? 這一知識點涉及底層僅做了解封拧,它關(guān)系到的是字符串的恒定性志鹃,與 為什么使用DOM對象.innerHTML 的性能 比不上 document.createElement('標(biāo)簽名");? ? 等......

? (2)我們創(chuàng)建的基本數(shù)據(jù)類型,數(shù)據(jù)會和變量名一起儲存在 棧中泽西;

? (3)我們創(chuàng)建的復(fù)雜數(shù)據(jù)類型曹铃,數(shù)據(jù)會被儲存在堆中,而棧中儲存的的是變量名和數(shù)據(jù)在堆中的地址捧杉。? ? 之所以這樣處理是因為陕见,棧處理數(shù)據(jù)的速度比堆快,但存儲空間比堆小味抖。

影響:不同的儲存方式帶來的评甜,是數(shù)據(jù)處理的方式不同:



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市仔涩,隨后出現(xiàn)的幾起案子忍坷,更是在濱河造成了極大的恐慌,老刑警劉巖熔脂,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件佩研,死亡現(xiàn)場離奇詭異,居然都是意外死亡霞揉,警方通過查閱死者的電腦和手機旬薯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來适秩,“玉大人绊序,你說我怎么就攤上這事』嘬瘢” “怎么了骤公?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蚂会。 經(jīng)常有香客問我淋样,道長,這世上最難降的妖魔是什么胁住? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任趁猴,我火速辦了婚禮刊咳,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘儡司。我一直安慰自己娱挨,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布捕犬。 她就那樣靜靜地躺著跷坝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪碉碉。 梳的紋絲不亂的頭發(fā)上柴钻,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天,我揣著相機與錄音垢粮,去河邊找鬼贴届。 笑死,一個胖子當(dāng)著我的面吹牛蜡吧,可吹牛的內(nèi)容都是我干的毫蚓。 我是一名探鬼主播,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼昔善,長吁一口氣:“原來是場噩夢啊……” “哼元潘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起君仆,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤翩概,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后袖订,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體氮帐,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年洛姑,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片皮服。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡楞艾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出龄广,到底是詐尸還是另有隱情硫眯,我是刑警寧澤,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布择同,位于F島的核電站两入,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏敲才。R本人自食惡果不足惜裹纳,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一择葡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧剃氧,春花似錦敏储、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至滥酥,卻和暖如春更舞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背坎吻。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工疏哗, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人禾怠。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓返奉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親吗氏。 傳聞我的和親對象是個殘疾皇子芽偏,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 概要 64學(xué)時 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,223評論 0 3
  • 第一部分:快速入門JS學(xué)習(xí)中的一些注意點:2018.8.16基礎(chǔ)知識: 入門JavaScript是世界上最流行的腳...
    天山雪蓮_38324閱讀 544評論 0 1
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)弦讽。 注意:講述HT...
    kismetajun閱讀 27,518評論 1 45
  • 第五章******************************************************...
    fastwe閱讀 685評論 0 0
  • 第一章 前端三大語言:HTML(專門編寫網(wǎng)頁內(nèi)容)污尉、CSS(編寫網(wǎng)頁樣式)、JS(專門編寫網(wǎng)頁交互行為) 能簡寫盡...
    fastwe閱讀 975評論 0 0