JavaScript一共有7種數據類型:javascript
Hello World
)。true
(真)和false
(假)undefined
:表示「未定義」或不存在,即因爲目前沒有定義,因此此處暫時沒有任何值null
:表示空值,即此處的值爲空。通常將number,string,boolean視爲原始類型(primitive type)的值,對象則稱爲合成類型(complex type)的值,undefined和null爲JS特有的特殊的值。html
對象又能夠分爲三個子類型:java
須要注意的是array和function並非七種類型之一。數組
0.1 + 0.2
0.30000000000000004
複製代碼
0o
或0O
的數值,或者有前導0、且只用到0-7的八個阿拉伯數字的數值。0x
或0X
的數值。0b
或0B
的數值。0xff // 255
0o377 // 255
0b11 // 3
複製代碼
NaN
:Not a Number+Infinity
,-Infinity
\uxxxx
。但 JavaScript 對 UTF-16 的支持是不完整的,只編到U+FFFF
。''
var a = '123' +
'456';
複製代碼
var a = `123 456`;
複製代碼
\n :換行符(\u000A)
\r :回車鍵(\u000D)
\' :單引號(\u0027)
\" :雙引號(\u0022)
\\ :反斜槓(\u005C)
\0 :null(\u0000)
\b :後退鍵(\u0008)
\f :換頁符(\u000C)
\t :製表符(\u0009)
\v :垂直製表符(\u000B)
複製代碼
btoa()
:任意值轉爲 Base64 編碼atob()
:Base64 編碼轉爲原來的值true
表示,「假」用關鍵字false
表示。布爾值只有這兩個值。前置邏輯運算符:! (Not)
相等運算符:===,!==,==,!=
比較運算符:>,>=,<,<=
複製代碼
false
,稱爲falsy(虛值)。undefined null false 0 NaN ""或''(空字符串)
null
表示空值,即該處的值如今爲空。undefined
表示「未定義」。undefined == null // true
複製代碼
null
。若是你想表示一個還沒賦值的字符串/數字/布爾/symbol,就用 undefined
(可是實際上你直接var xxx
一下就好了,不用寫var xxx = undefined
)object['key']
能夠寫做object.key
object['key']
與object[key]
區別delete object['key']
Object.keys
in
運算符,自身和繼承的都能看到。var obj = { p: 1 };
'p' in obj // true
'toString' in obj // true
複製代碼
for...in
typeof能夠用來判斷數據類型,可是存在兩個bug:bash
typeof null //'object'
function f() {}
typeof // "function"
複製代碼
詳見:JS 中的 Symbol 是什麼?函數