數(shù)據(jù)類型小結(jié)

1.typeof

typeof運(yùn)算符可以返回一個(gè)值的數(shù)據(jù)類型

原始類型
數(shù)值凰狞、字符串昆婿、布爾值分別返回number镐牺、string、boolean焦读。

函數(shù)
函數(shù)返回function子库。

undefined
undefined返回undefined。

typeof window // "object"
typeof {} // "object"
typeof [] // "object"
typeof null // "object"
typeof 123 // "number"
typeof '123' // "string"
typeof false // "boolean"
function f() {}
typeof f
// "function"
typeof undefined
// "undefined"

除此以外矗晃,其他情況都返回object仑嗅。

typeof window // "object"
typeof {} // "object"
typeof [] // "object"
typeof null // "object"

typeof可以用來(lái)檢查一個(gè)沒(méi)有聲明的變量,而不報(bào)錯(cuò)张症。


    v  // ReferenceError: v is not defined
    typeof v // "undefined"

實(shí)際編程中仓技,這個(gè)特點(diǎn)通常用在判斷語(yǔ)句。

// 錯(cuò)誤的寫法
if (v) { }  // ReferenceError: v is not defined
// 正確的寫法
if (typeof v === "undefined") { }

2. instanceof

區(qū)分?jǐn)?shù)組和對(duì)象

var o = {};
var a = [];

o instanceof Array // false
a instanceof Array // true

3. null和undefined

對(duì)于null和undefined俗他,可以大致可以像下面這樣理解脖捻。

null表示空值,即該處的值現(xiàn)在為空兆衅。典型用法是:

作為函數(shù)的參數(shù)地沮,表示該函數(shù)的參數(shù)是一個(gè)沒(méi)有任何內(nèi)容的對(duì)象。
作為對(duì)象原型鏈的終點(diǎn)羡亩。

undefined表示不存在值摩疑,就是此處目前不存在任何值。典型用法是:

變量被聲明了畏铆,但沒(méi)有賦值時(shí)雷袋,就等于undefined。
調(diào)用函數(shù)時(shí)辞居,應(yīng)該提供的參數(shù)沒(méi)有提供片排,該參數(shù)等于undefined寨腔。
對(duì)象沒(méi)有賦值的屬性,該屬性的值為undefined率寡。
函數(shù)沒(méi)有返回值時(shí),默認(rèn)返回undefined倚搬。

var i;
i // undefined

function f(x){console.log(x)}
f() // undefined

var  o = new Object();
o.p // undefined

var x = f();
x // undefined

4. Boolean

布爾值代表“真”和“假”兩個(gè)狀態(tài)冶共。“真”用關(guān)鍵字true表示每界,“假”用關(guān)鍵字false表示捅僵。布爾值只有這兩個(gè)值。

下列運(yùn)算符會(huì)返回布爾值:

  • 兩元邏輯運(yùn)算符: && (And)眨层,|| (Or)
  • 前置邏輯運(yùn)算符: ! (Not)
  • 相等運(yùn)算符:===庙楚,!==,==趴樱,!=
  • 比較運(yùn)算符:>馒闷,>=,<叁征,<=

轉(zhuǎn)換為false的類型
如果JavaScript預(yù)期某個(gè)位置應(yīng)該是布爾值纳账,會(huì)將該位置上現(xiàn)有的值自動(dòng)轉(zhuǎn)為布爾值。轉(zhuǎn)換規(guī)則是除了下面六個(gè)值被轉(zhuǎn)為false捺疼,其他值都視為true疏虫。

  • undefined
  • null
  • false
  • 0
  • NaN
  • ""(空字符串)

注意 :空數(shù)組([])和空對(duì)象({})對(duì)應(yīng)的布爾值啤呼,都是true

if ([]) {
  console.log(true);
}
// true

if ({}) {
  console.log(true);
}
// true

5. Infinity 表示無(wú)窮大

  1/0  //Infinity

6. NaN

NaN含義是Not a Number卧秘,表示非數(shù)字,NaN和任何值都不相等官扣,包括自己

NaN == NaN; //false
parseInt('abc'); //NaN

7. 數(shù)值轉(zhuǎn)換

有三個(gè)函數(shù)可以把非數(shù)值轉(zhuǎn)換為數(shù)值

    1. Number()
    1. parseInt()
    1. parseFloat()

parseInt parseFloat

  1. 忽略字符串前面的空白字符翅敌,找到第一個(gè)非空白字符
  2. 如果第一個(gè)字符不是-或者數(shù)字返回NaN
  3. 如果是繼續(xù)解析,直到非數(shù)值模式為止
  4. 0開(kāi)頭會(huì)當(dāng)做八進(jìn)制醇锚,0x開(kāi)頭會(huì)當(dāng)做十六進(jìn)制哼御,但是可以指定第二個(gè)參數(shù)指定基數(shù)

    parseInt('blue'); //NaN
    parseInt('-23ABS'); // -23
    parseInt('0xf1'); // 241
    parseInt('101', 2); // 5

數(shù)值參考

8.Object

對(duì)象,就是一種無(wú)序的數(shù)據(jù)集合焊唬,由若干個(gè)“鍵值對(duì)”(key-value)構(gòu)成恋昼。key我們稱為對(duì)象的屬性,value可以是任何JavaScript類型赶促,甚至可以是對(duì)象

  var obj = {
    name: 'jirengu',
    age: 2
  };

object的屬性讀取有兩種方式

obj.name;
obj['name'];

參考

http://javascript.ruanyifeng.com/grammar/basic.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末液肌,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子鸥滨,更是在濱河造成了極大的恐慌嗦哆,老刑警劉巖谤祖,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異老速,居然都是意外死亡粥喜,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門橘券,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)额湘,“玉大人,你說(shuō)我怎么就攤上這事旁舰》婊” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵箭窜,是天一觀的道長(zhǎng)毯焕。 經(jīng)常有香客問(wèn)我,道長(zhǎng)磺樱,這世上最難降的妖魔是什么纳猫? 我笑而不...
    開(kāi)封第一講書人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮坊罢,結(jié)果婚禮上续担,老公的妹妹穿的比我還像新娘。我一直安慰自己活孩,他們只是感情好物遇,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著憾儒,像睡著了一般询兴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上起趾,一...
    開(kāi)封第一講書人閱讀 49,007評(píng)論 1 284
  • 那天诗舰,我揣著相機(jī)與錄音,去河邊找鬼训裆。 笑死眶根,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的边琉。 我是一名探鬼主播属百,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼变姨!你這毒婦竟也來(lái)了族扰?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎渔呵,沒(méi)想到半個(gè)月后怒竿,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扩氢,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年耕驰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片录豺。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡耍属,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出巩检,到底是詐尸還是另有隱情,我是刑警寧澤示启,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布兢哭,位于F島的核電站,受9級(jí)特大地震影響夫嗓,放射性物質(zhì)發(fā)生泄漏迟螺。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一舍咖、第九天 我趴在偏房一處隱蔽的房頂上張望矩父。 院中可真熱鬧,春花似錦排霉、人聲如沸窍株。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)球订。三九已至,卻和暖如春瑰钮,著一層夾襖步出監(jiān)牢的瞬間冒滩,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工浪谴, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留开睡,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓苟耻,卻偏偏與公主長(zhǎng)得像篇恒,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子梁呈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

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