在javascript中一共有7种数据类型:
数字 字符串 布尔 symbol null undefined 对象
number string Boolean symbol null underfined object
在数据类型中 除了object都是简单类型,而object是复杂类型,是通过简单类型组合而成,除了前六种之外所有的都是object
一·number
二进制是以 0b开头的 例如 0b11=3
八进制是以0开头 例如 011=9
十六进制是以0x开头 例如 0x11=17
二·string
‘1’ “1” ‘’ “” 这些都是字符串 且长度为0
‘\ ’ "\ " 引号里面有空格也是字符串,长度是1
转义
var a = ' ' ' 这样是不对的, 在单引号中有单引号就不能分辨了
‘\'’ 用一个反斜杠就表示里面的内容就是一个引号了
‘\n’ 表示里满是一个回车
‘\t’ 表示tab制表符
‘\\’ 表示一个斜杠
上面的这些所有的长度都是1
多行字符串
1. var s1 =‘12345\
67890'
2. var s2= '12345'+
'67890'
1和2 都可以进行多行字符串,单第二种会更好,第一种属于坑人语法,在\后面可能会打很多回车等等,让别人发现不了。
在ES6中, var s3 =`12345
67890`
这样直接就可以换行用的 ` 这个符号是在键盘1旁边的反引号 (注意:长度是11 包含了一个回车)
三.boolean
只有 一个 true和false
&&表示与 ||表示或
&&必须全都为真才是真,一个为假就都为假
||一个是真就是真,全部为假就是假
四.null和undefined
1.变量如果没有值,南无就是undefined
2有一个对象object 现在起不想给值 就给一个null 空的 但是是对象
又一个非object 不想给值 那就是undefined 空的也不是对象
var n 就是undefined
五.object
var person = {name:'cyg',age:'25',married:'true',children:{name:'sdd',age:"12}}
dou
在对象里面可以有对象
在对象里, ‘key’:'value' ,key可以没有引号,但还是字符串。
在读取对象里面的东西 例如: person['name']这里面的引号不可以省略。
如果: '' :'cyg' 这样写也是可以,person[''] 他的结果就是cyg
9a:'cyg' 这样写是不对的,如果key不加引号,名字就得按照标识符(变量)的规范来。
如果person['name'] 里面 ‘ ’ 里的命名复合标识符的规范 可以写成 person.name
delete person['name'] 这个可以删除 key和value
person.name 只可以上出value
‘name’ in person 这个只可以删除 key
去除key 和 value
var person = {name:'cyg', age:'18'}
取出: var key in person{console.log(key)
console.log(person.[key]) }
取出来的顺序都是安运气来的,顺序不可预估。
typeof可以查看返回值,是什么数据类型他返回就是什么
null 的typeof返回值是 “object” 这是一个bug
function typeof返回值是‘“function” 这也是一个bug