JS 里的數(shù)據(jù)類型

JavaScript 的數(shù)據(jù)類型,共有7種。

1:數(shù)值(number)
2:字符串(string)
3:布爾值(boolean)
4:undefined
5:null
6:對象(object)
7:symbol

原始類型:number string boolean
復(fù)合類型:object
特殊值:undefined null

JS三種方法判斷一個值到底是什么類型

1、typeof運算符
數(shù)值凫佛、字符串、布爾值分別返回number、string榜田、boolean。
注意以下幾個案例的typeof的返回值

typeof undefined  //undefined
typeof null  //object
typeof fn  //function

2锻梳、instanceof運算符

3箭券、Object.prototype.toString方法

  • 數(shù)值(number)

1、整數(shù)與浮點數(shù)
JS內(nèi)部疑枯,所有的數(shù)字都是以64位浮點數(shù)形式存儲辩块,JS底層語言中沒有整數(shù)的概念,所有的數(shù)字都是小數(shù)荆永,即64位浮點數(shù)废亭,
因浮點數(shù),不是精確的值屁魏,運算時要特別小心

0.1 + 0,2 === 0.3 //false

2滔以、數(shù)值的表示法
下面兩種情況,JS自動轉(zhuǎn)換為科學(xué)計數(shù)發(fā)
(1)小數(shù)點前的數(shù)字多于21位

12324234343453454565486450978054789567
1.2324234343453454e+37

(2)小數(shù)點后的零多于5個氓拼。

.0000000009
9e-10

3你画、數(shù)值的進制

十進制:沒有前導(dǎo)0的數(shù)值。
八進制:有前綴0o或0O的數(shù)值桃漾,或者有前導(dǎo)0坏匪、且只用到0-7的八個阿拉伯數(shù)字的數(shù)值。
十六進制:有前綴0x或0X的數(shù)值撬统。
二進制:有前綴0b或0B的數(shù)值适滓。

默認情況下,JavaScript 內(nèi)部會自動將八進制恋追、十六進制凭迹、二進制轉(zhuǎn)為十進制。

4苦囱、特殊數(shù)值
(1)JS 內(nèi)部實際上存在2個0:一個是+0嗅绸,一個是-0,區(qū)別就是64位浮點數(shù)表示法的符號位不同撕彤。它們是等價的鱼鸠。
只有作為分子時不等價

1/0    //Infinity
1/-0   //-Infinity

(2)NaN,表示“非數(shù)字”(Not a Number),主要出現(xiàn)在將字符串解析成數(shù)字出錯的場合蚀狰。

NaN不等于任何值愉昆,包括它本身。
NaN與任何數(shù)(包括它自己)的運算麻蹋,得到的都是NaN跛溉。
NaN在布爾運算時被當作false。
判斷是否是NaN的方法哥蔚,isNaN(),isNaN只對數(shù)值有效倒谷,如果傳入其他值,會被轉(zhuǎn)為數(shù)值

5糙箍、正無窮Infinity和負無窮-Infinity

Math.pow(2, 1024)   // Infinity
0/0   //Nan
1/0   //Infinity

Infinity大于一切數(shù)值(除了NaN),-Infinity小于一切數(shù)值(除了NaN)
Infinity與NaN比較牵祟,總是返回false深夯。

  • 字符串(string)

1、string 用單引號或雙引號表示
2诺苹、空字符串和空格字符串

''.length  //0
' '.length  //1

3咕晋、轉(zhuǎn)義符:反斜杠 \

4、多行字符串的寫法

//第一種
var x1 = '123\
         234'
//第二種     (推薦)    
var x2 = '123' +
         234'

ES6多行字符串

var x3 = `123
344`

  • 布爾值(boolean)
    1收奔、布爾只有兩個值true or false
    2掌呜、下面的運算符計算結(jié)果會返回布爾值

兩元邏輯運算符: && (And),|| (Or)
前置邏輯運算符: ! (Not)
相等運算符:===坪哄,!==质蕉,==,!=
比較運算符:>翩肌,>=模暗,<,<=

3念祭、布爾值轉(zhuǎn)換規(guī)則兑宇,下面六個值轉(zhuǎn)為false,其他均為true

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

  • null和undefined
    null與undefined都可以表示“沒有”,相等運算符(==)甚至報告兩者相等粱坤,那null和undefined有什么區(qū)別呢隶糕?
undefined == null   // true

null 只有一個值null
undefined 只有一個值undefined
變量沒有賦值,是undefined
有一個對象站玄,還不想賦值枚驻,推薦給一個空值null
非對象,還不想賦值蜒什,推薦給一個undefined

  • 對象(object)

1测秸、對象就是一組“鍵值對”(key-value)的集合,是一種無序的復(fù)合數(shù)據(jù)集合
2、鍵名:對象的所有key都是字符串霎冯,加不加引號都可以铃拇,非字符串的key會自動轉(zhuǎn)為字符串,但不加引號沈撞,key必須符合標識符
3慷荔、獲取屬性值
(1) object[‘key’],方括號運算符缠俺,鍵名必須放在引號里面显晶,否則會被當作變量處理。
(2) object.key壹士,此時key是字符串key

4磷雇、查看所有屬性
Object.keys方法,屬性以數(shù)組的方式列出

5躏救、刪除對象的屬性

delete object['key']  //刪除后無key唯笙,無value
object.key  //undefined
'key' in object  //false

//這種情況,只是把undefined的值賦給key盒使,key還是在的
object['key'] = undefined

6崩掘、in運算符
檢查對象是否包含某個屬性,如果包含就返回true少办,否則返回false苞慢。

var obj = { p: 1 };
'p' in obj // true

in運算符它不能識別哪些屬性是對象自身的,哪些屬性是繼承的英妓。繼承的屬性也返回true

7挽放、for…in 循環(huán)
for...in循環(huán)用來遍歷一個對象的全部屬性。

它遍歷的是對象所有可遍歷(enumerable)的屬性鞋拟,會跳過不可遍歷的屬性骂维。
它不僅遍歷對象自身的屬性,還遍歷繼承的屬性贺纲。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末航闺,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子猴誊,更是在濱河造成了極大的恐慌潦刃,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件懈叹,死亡現(xiàn)場離奇詭異乖杠,居然都是意外死亡,警方通過查閱死者的電腦和手機澄成,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門胧洒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來畏吓,“玉大人,你說我怎么就攤上這事卫漫》票” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵列赎,是天一觀的道長宏悦。 經(jīng)常有香客問我,道長包吝,這世上最難降的妖魔是什么饼煞? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮诗越,結(jié)果婚禮上砖瞧,老公的妹妹穿的比我還像新娘。我一直安慰自己掺喻,他們只是感情好芭届,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著感耙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪持隧。 梳的紋絲不亂的頭發(fā)上即硼,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天,我揣著相機與錄音屡拨,去河邊找鬼只酥。 笑死,一個胖子當著我的面吹牛呀狼,可吹牛的內(nèi)容都是我干的裂允。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼哥艇,長吁一口氣:“原來是場噩夢啊……” “哼绝编!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起貌踏,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤十饥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后祖乳,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體逗堵,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年眷昆,在試婚紗的時候發(fā)現(xiàn)自己被綠了蜒秤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片汁咏。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖作媚,靈堂內(nèi)的尸體忽然破棺而出攘滩,到底是詐尸還是另有隱情,我是刑警寧澤掂骏,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布轰驳,位于F島的核電站,受9級特大地震影響弟灼,放射性物質(zhì)發(fā)生泄漏级解。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一田绑、第九天 我趴在偏房一處隱蔽的房頂上張望勤哗。 院中可真熱鬧,春花似錦掩驱、人聲如沸芒划。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽民逼。三九已至,卻和暖如春涮帘,著一層夾襖步出監(jiān)牢的瞬間拼苍,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工调缨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留疮鲫,地道東北人。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓弦叶,卻偏偏與公主長得像俊犯,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子伤哺,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

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