數(shù)據(jù)類型
JavaScript有七種數(shù)據(jù)類型
基本類型(簡單類型)
數(shù)值 number
-
十進制
1
1.1 .1
1.23e(E)2 1.23 * 10的2次方
-
二進制
0b開頭
0b1
0b11
-
八進制
01開頭
-
十六進制
0x開頭
字符串 string
可以用'單引號'和'雙引號'
也可以用'' ""表示空字符串 長度是0
' ' 表示空格字符串 長度是1 和空字符串做區(qū)別
-
轉(zhuǎn)義 《編碼》code
var a = ''' 用 var a = "'"
var a = '\ '' 表示單引號 \就是轉(zhuǎn)義符 長度1
var n ='\n' 回車 長度1
var t ='\t' Tab(制表符) 長度1
var b ='\ \ ' 表示\符號
-
多行字符串(不是字符串里有回車)
var s = '12345 \ 坑人的語法
? 67890'
var s3 = '12345 \ 空格 空格 報錯
? 67890’
var s ='12345
? 67890' 報錯
var s2 = '12345' + 好用的語法
? '67890' 這種也可以 這種表示方式更好
ES6 var s4 =`12345回車
? 67890` 長度11 包含回車
布爾 boolean
布爾(數(shù)學家)發(fā)明了邏輯學
true 真
false 假
&&與 a&&b 都真為真
||或 a||b 有一個真則真 都假為假
null類型
一個值 null
undefined類型
一個值undefined
null 和 undefined 表示什么也沒有 這是js之父的bug
-
區(qū)別:
1.變量沒有賦值,就是undefined 不是null 語法
2.有一個對象object呐矾,現(xiàn)在不想賦值 推薦給null 慣例
var obj = null
有一個非對象,現(xiàn)在不想賦值,推薦給undefined
Symbol(符號)
復雜類型
<u>復雜類型是由簡單類型組成的</u>
對象 object 數(shù)組和函數(shù)都是對象
哈希表
--簡單類型---------------------
var name = 'zhangsan'
var age = 18
var gender = 'male'
--復雜類型---------------------
var person = {
'name': 'zhangsan',
'age': 18,
'gender': 'male' //最后一行如果是ES3(IE7以下)就不能加逗號,如果是ES5(IE8以上)就能加逗號
}
- 語法:
var person = {
key: value // 左邊是字符串,可以省略引號壶辜,但是還是字符串 value可以是別的簡單類型催植,也可以是對象
}
person[key] 這里的字符串不能省略引號
----------------------------------------
var obj = {
9a: "aaa" //報錯
'9a': "aaa" // 正確
a b: "aaa" // 報錯
'a b': "aaa" // 正確
: "aaa" // 報錯
' ': "aaa" // 正確
你好: "aaa" // 正確
// Key如果不加引號,不許遵循變量名的規(guī)則
}
person['name']
person.name 特例 name===‘name'
-
delete person['name'] 刪除key
person.name // undefined 無value key和value都清空
'name' in person // false 無key
person.name = undefined // 把value設置為undefined key還在
'name' in person // true
for...in
var person = {name:'zhangsan', age: 18}
for (var key in person) {
console.log(key)
}
// name
// age
// name和age的順序不確定
- 查看一個對象本身的所有屬性愕贡,可以使用
Object.keys
方法。
typeof
var t = 1
typeof t // "number"
var t = "sssss"
typeof t // "string"
var t = true
typeof t // "boolean"
var t = undefined
typeof t // "undefined"
var t = {}
typeof t // "object"
var t = null
typeof t // "object" BUG
function fn() {}
typeof fn // "function" BUG2