JS共有7种数据类型
number string boolean symbol null undefined object
1 Number
十进制 1 .1 1.23e2 大小写皆可
二进制 0b11 3
八进制 011 9
16进制 0x11 17
2 String
'' "" 空字符串 length=0
' ' " " 空格字符串 length=1
var a = '\'' 一个单引号 var a = '\n' 回车 var a = '\t' 制表符(TAB)var a = '\\' 一个转义符
多行字符串
var s = '12345\ /*有空格*/
6789'
var s = '12345'+/*没有空格*/?
'6789'
ES6特例:
var s =`12345
6789` /*反引号 6789一定要顶格写不能缩进*/
3 Boolean
发明了逻辑学 的 数学家 布尔 下雨 上课 没带伞 得肺病 死了
&& 与 || 或
4 Null Undefined
一 变量没有值时 自动定义undefined
二 有一个对象object 现在不给它赋值 自动定义null(空对象)
三 有一个非对象 不想给值 自动定义undefinded(不知道它是什么 但给它一个空undefined)
5 Object ==>哈希表
对象object就是简单类型的组成
性别gender = 'male'或'female'
JS只支持以字符串为key
一行要写多个时 key与key之间用逗号隔开
IE7 ES3 以下 不能加逗号 IE8 以上可以
eg.
var person = { /*定义变量容纳它*/
name : 'frank' /*声明一个变量*/
age : 18 /*数字不加引号*/
children : {name:'xxx', age : 1, } /*对象里还可以有对象*/
'' : 'frank'✔ /*不加引号必须是标识符,变量名*/
9a : 'frank'× /*1.首位不能是数字 2.中间不能有空格*/
}
Delete
person ['name'] /*''单引号不能删*/
person.name 符合标识符规则时可以使用.
delete person['name'] 删除name这个key
访问person.name // undefined /*无value*/
访问'name' in person // false /*无key*/
cf.
person.name = undefined /*只清空了value*/
for遍历
eg.
var person = {name:'frank', age: 18}
for(var key in person){/*把person里的key都遍历到*/
console.log(key)/*打印出来*/
}/*key出现的先后顺序随机*/
for(var key in person){/*把person里的value都遍历到*/
console.log(person[key])
/*注意:不能用person.key 等同于 person['key'] key里面只有name、age没有key*/
}/*value出现的先后顺序随机*/
for(var key in person){/*把person里的key和value都遍历到*/
console.log(key,person[key])
}/
Typeof
var t =1 typeof t // "number" 用双引号表示名词
特例:一 typeof null // "object"
二 function f(){} typeof f // "function"
网友评论