JS里的数据类型

JS里面有七大数据类型:number,boolean,string,symbol,undefined,null,object。
请注意没有array和function类型。
使用typeof检测一个值的类型,检测null返回的是object,检测function返回的是"function",这是JS设计的BUG。
1.number(数值)
整数和小数:1 1.1 0.1
科学计数法: 1.23e3
二进制表示:0b11
八进制:011
十六进制:0x11
2.string(字符串)
空字符串:""
多行字符串:
var s = '12345'+
'6789' //无回车符号

var s = '12345
6789' //含回车符号
3.boolean(布尔)
取值:true或false
a&&b 在a和b都为true时,取值为true,否则为false。
a||b 在a和b都取值为false时,取值为false,否则为true。
!a 将a的值取相反的值。
!!a 获取a转换后的布尔类型值。
4.undefined和null
都表示没有值。
1.(规范)如果一个变量没有被赋值,那么这个变量的值就是undefined。
2.(习俗)如果你想表示一个还没有被赋值的对象,就用null,如果你想表示一个还没被赋值的字符串/数字/布尔/symbol就用undefined(直接var a;就行了,不用写var a = undefined; )
5.sybmol
https://zhuanlan.zhihu.com/p/22652486 方应杭 sybmol是什么?
6.object(对象)
对象就是上面几种数据类型组成的一组“键值对”(key-value)的集合,是一种无序的复合数据类型。
1.对象对面可以有对象。
2.object的key一律是字符串,不存在其他类型的key。
3.object['']是合法的。
4.object['name']可以写做object[name],注意object.key和object[key]不同
5.删除对象中的某一项 delete object[‘key’] 直接删除整项包括键名
对象内使用delete删除的是键名+键值(使用in查询不到键名),而将键 值设置为undefined,键名还是依然存在的(可以通过in查询到)。
6.读取两种方式:object.key object["key"] 如果key为3+3的形式,会自动运算后再取值。
7.查询一个键是否在对象内 键名 in 对象

你可能感兴趣的:(JS里的数据类型)