JavaScript基礎(chǔ)--數(shù)據(jù)及數(shù)據(jù)類型

什么是數(shù)據(jù)肄扎?

  • 生活中無(wú)時(shí)無(wú)刻都在跟數(shù)據(jù)打交道
    • 例如:人的體重、身高施戴、收入反浓、性別等數(shù)據(jù)等
  • 在我們使用計(jì)算機(jī)的過(guò)程中,也會(huì)接觸到各種各樣的數(shù)據(jù)
    • 例如: 文檔數(shù)據(jù)赞哗、圖片數(shù)據(jù)雷则、視頻數(shù)據(jù)等

數(shù)據(jù)分類

  • 靜態(tài)的數(shù)據(jù)
    • 靜態(tài)數(shù)據(jù)是指一些永久性的數(shù)據(jù),一般存儲(chǔ)在硬盤中肪笋。硬盤的存儲(chǔ)空間一般都比較大月劈,現(xiàn)在普通計(jì)算機(jī)的硬盤都有500G左右,因此硬盤中可以存放一些比較大的文件
    • 哪些是靜態(tài)數(shù)據(jù):靜態(tài)數(shù)據(jù)一般是以文件的形式存儲(chǔ)在硬盤上藤乙,比如文檔猜揪、照片、視頻等坛梁。
  • 動(dòng)態(tài)的數(shù)據(jù)
    • 動(dòng)態(tài)數(shù)據(jù)指在程序運(yùn)行過(guò)程中而姐,動(dòng)態(tài)產(chǎn)生的臨時(shí)數(shù)據(jù),一般存儲(chǔ)在內(nèi)存中划咐。內(nèi)存的存儲(chǔ)空間一般都比較小拴念,現(xiàn)在普通計(jì)算機(jī)的內(nèi)存只有8G左右钧萍,因此要謹(jǐn)慎使用內(nèi)存,不要占用太多的內(nèi)存空間
    • 哪些是動(dòng)態(tài)數(shù)據(jù):當(dāng)運(yùn)行某個(gè)程序(軟件)時(shí)政鼠,整個(gè)程序就會(huì)被加載到內(nèi)存中风瘦,在程序運(yùn)行過(guò)程中,會(huì)產(chǎn)生各種各樣的臨時(shí)數(shù)據(jù)公般,這些臨時(shí)數(shù)據(jù)都是存儲(chǔ)在內(nèi)存中的万搔。當(dāng)程序停止運(yùn)行或者計(jì)算機(jī)被強(qiáng)制關(guān)閉時(shí),這個(gè)程序產(chǎn)生的所有臨時(shí)數(shù)據(jù)都會(huì)被清除官帘。

JavaScript數(shù)據(jù)類型概述

  • 作為程序員最關(guān)心的是內(nèi)存中的動(dòng)態(tài)數(shù)據(jù), 因?yàn)槲覀儗懙某绦蚓褪窃趦?nèi)存中的
  • 程序在運(yùn)行過(guò)程中會(huì)產(chǎn)生各種各樣的臨時(shí)數(shù)據(jù), 為了方便數(shù)據(jù)的運(yùn)算和操作, JavaScript對(duì)這些數(shù)據(jù)進(jìn)行了分類, 提供了豐富的數(shù)據(jù)類型
  • 在JS中一共有六種數(shù)據(jù)類型
    • Number 數(shù)值(基本數(shù)據(jù)類型)
    • String 字符串(基本數(shù)據(jù)類型)
    • Boolean 布爾(基本數(shù)據(jù)類型)
    • Undefined 未定義(基本數(shù)據(jù)類型)
    • Null 空值(基本數(shù)據(jù)類型)
    • Object 對(duì)象(引用數(shù)據(jù)類型)
  • 如何查看數(shù)據(jù)類型?
    • 使用typeof操作符可以用來(lái)檢查數(shù)據(jù)類型瞬雹。
    • 使用格式:typeof 數(shù)據(jù),例如 typeof 123; typeof num;
      console.log(typeof 123); // number
      var num = 10;
      console.log(typeof num); // number
      
    • typeof操作符會(huì)將檢查的結(jié)果以字符串的形式返回給我們
      var value= 10;
      // 此時(shí)將value的數(shù)據(jù)類型number以字符串返回給我們, 存入到res變量中
      var res = typeof value; 
      // 此時(shí)檢查res的數(shù)據(jù)類型為string, 證明typeof返回給我們的是一個(gè)字符串
      console.log(typeof res); // string
      

字符串類型

  • String用于表示一個(gè)字符序列遏佣,即字符串
  • 字符串需要使用 括起來(lái)
var str1 = "hello";
var str2 = `nj`;
var str5 = `hello nj"; // 錯(cuò)誤
console.log(typeof str1 ); // string
console.log(typeof str2); // string
  • 相同引號(hào)不能嵌套挖炬,不同引號(hào)可以嵌套
  • 給變量加上引號(hào), 那么變量將變?yōu)橐粋€(gè)常量

Number類型

  • 在JS中所有的數(shù)值都是Number類型(整數(shù)和小數(shù))
var num1= 123;
var num2= 3.14;
console.log(typeof num1); // number
console.log(typeof num2); // number
  • 由于內(nèi)存的限制揽浙,ECMAScript 并不能保存世界上所有的數(shù)值
    • 最大值:Number.MAX_VALUE
      console.log(Number.MAX_VALUE);  // 1.7976931348623157e+308
      
    • 最小值:Number.MIN_VALUE
      console.log(Number.MIN_VALUE);  // 5e-324
      
    • 無(wú)窮大:Infinity, 如果超過(guò)了最大值就會(huì)返回該值
      console.log(Number.MAX_VALUE + Number.MAX_VALUE); // Infinity
      
    • 無(wú)窮凶瓷簟:-Infinity, 如果超過(guò)了最小值就會(huì)返回該值
       console.log(typeof Infinity); // number
       console.log(typeof -Infinity); // number
      
    • NaN 非法數(shù)字(Not A Number),JS中當(dāng)對(duì)數(shù)值進(jìn)行計(jì)算時(shí)沒(méi)有結(jié)果返回,則返回NaN
      var num3 = NaN;
      console.log(typeof num3); // number
      
  • Number類型注意點(diǎn)
    • JS中整數(shù)的運(yùn)算可以保證精確的結(jié)果
      var sum1 = 10 + 20;
      console.log(sum1); // 30
      
    • 在JS中浮點(diǎn)數(shù)的運(yùn)算可能得到一個(gè)不精確的結(jié)果
      var sum1 = 10.1 + 21.1;
      console.log(sum1); // 31.200000000000003
      

Boolean 布爾類型

  • 布爾型也被稱為邏輯值類型或者真假值類型
  • 布爾型只能夠取真(true)和假(false)兩種數(shù)值
var bool1 = true;
var bool2 = false;
console.log(typeof bool1); // boolean
console.log(typeof bool2); // boolean
  • 雖然Boolean 類型的字面值只有兩個(gè)馅巷,但 ECMAScript 中所有類型的值都有與這兩個(gè) Boolean 值等價(jià)的值
    • 任何非零數(shù)值都是true, 包括正負(fù)無(wú)窮大, 只有0和NaN是false
    • 任何非空字符串都是true, 只有空字符串是false
    • 任何對(duì)象都是true, 只有null和undefined是false
var bool3 = Boolean(0);
console.log(bool3); // false
var bool4 = Boolean(1);
console.log(bool4); // true
var bool5 = Boolean(-1);
console.log(bool4); // true
var bool6 = Boolean(Infinity);
console.log(bool4); // true
var bool7 = Boolean(-Infinity);
console.log(bool4); // true
var bool8 = Boolean(NaN);
console.log(bool8); // false
var bool9 = Boolean(undefined);
console.log(bool8); // false
var bool10 = Boolean(null);
console.log(bool8); // false
var bool11 = Boolean("");
console.log(bool8); // false
var bool12 = Boolean("abc");
console.log(bool12); // true

Null和Undefined

  • Undefined這是一種比較特殊的類型膛虫,表示變量未賦值,這種類型只有一種值就是undefined
var num;
console.log(num);  //結(jié)果是undefined
  • undefined是Undefined類型的字面量
    • 前者undefined和10, "abc"一樣是一個(gè)常量
    • 后者Undefined和Number,Boolean一樣是一個(gè)數(shù)據(jù)類型
    • 需要注意的是typeof對(duì)沒(méi)有初始化和沒(méi)有聲明的變量都會(huì)返回undefined钓猬。
var value1 = undefined;
console.log(typeof value); //結(jié)果是undefined

var value2;
console.log(typeof  value2); //結(jié)果是undefined
  • Null 類型是第二個(gè)只有一個(gè)值的數(shù)據(jù)類型稍刀,這個(gè)特殊的值是 null
  • 從語(yǔ)義上看null表示的是一個(gè)空的對(duì)象。所以使用typeof檢查null會(huì)返回一個(gè)Object
var test1= null;
console.log(typeof test1);
  • undefined值實(shí)際上是由null值衍生出來(lái)的敞曹,所以如果比較undefined和null是否相等账月,會(huì)返回true
var test1 = null;
var test2 = undefined;
console.log(test1 == test2);
console.log(test1 === test2);

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市澳迫,隨后出現(xiàn)的幾起案子局齿,更是在濱河造成了極大的恐慌,老刑警劉巖橄登,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抓歼,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡拢锹,警方通過(guò)查閱死者的電腦和手機(jī)谣妻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)卒稳,“玉大人蹋半,你說(shuō)我怎么就攤上這事〕淇樱” “怎么了减江?”我有些...
    開封第一講書人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵闻蛀,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我您市,道長(zhǎng)觉痛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任茵休,我火速辦了婚禮薪棒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘榕莺。我一直安慰自己俐芯,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開白布钉鸯。 她就那樣靜靜地躺著吧史,像睡著了一般。 火紅的嫁衣襯著肌膚如雪唠雕。 梳的紋絲不亂的頭發(fā)上贸营,一...
    開封第一講書人閱讀 49,821評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音岩睁,去河邊找鬼钞脂。 笑死,一個(gè)胖子當(dāng)著我的面吹牛捕儒,可吹牛的內(nèi)容都是我干的冰啃。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼刘莹,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼阎毅!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起点弯,我...
    開封第一講書人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤扇调,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后蒲拉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肃拜,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年雌团,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了燃领。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡锦援,死狀恐怖猛蔽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤曼库,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布区岗,位于F島的核電站,受9級(jí)特大地震影響毁枯,放射性物質(zhì)發(fā)生泄漏慈缔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一种玛、第九天 我趴在偏房一處隱蔽的房頂上張望藐鹤。 院中可真熱鬧,春花似錦赂韵、人聲如沸娱节。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)肄满。三九已至,卻和暖如春质涛,著一層夾襖步出監(jiān)牢的瞬間稠歉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工蹂窖, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留轧抗,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓瞬测,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親纠炮。 傳聞我的和親對(duì)象是個(gè)殘疾皇子月趟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349