1、JS里面有哪些数据类型
JS有下面七种数据类型:
- number:数字或数值;
- string:字符串;
- boolean:布尔值;
- symbol:符号,symbol值,ES6增加的;
- null:null,一般用于表示空对象;
- undefined:undefined,一般表示空非对象(变量、函数未赋值、函数无返回值,哈希表未赋值的key等);
- object:对象;
注:array数组和function函数不是一种类型,它们都属于对象的一种;
2、number类型
十进制:
1 //表示1
1.2 //表示小数1.2
.1 //表示0.1
1.23e2 //科学计数法123
二进制(0b或0B为前缀的数值):
0b11 //表示3
var phonenumber='021-3523852' //一般存电话用字符串,以0开头容易导致识别为八进制数字
八进制(0o或0O为前缀的数字,或者0开头且只用到0~7数字的数值):
011 //表示9
0o27 //表示23
十六进制(0x或0X为前缀的数值):
0x11 //表示17
3、string类型
用单引号或双引号包裹:
'你好' //表示字符串'你好'
'' //表示空字符串,长度为0
"" //也表示空字符串,长度为0
' ' //表示空格字符串,引号中间有空格,长度为1
注:当需要表示的就是引号时,可以用转义符
\
标识,转义符不占字符
'\'\"' //表示' "字符,长度为2
'\n\t' // 其中\n表示回车,\t表示Tab制表符
'\\' //表示一个\,长度为1
多行字符串:
var s = ' 12345 \
67890' //表示中间有个回车,这种一把不用,后面有空格看见
var s = ' 12345' +
'67890' //也表示中间有个回车,好读的语法,推荐
4、boolean类型
布尔值只有两个ture真和false假,一般用于条件判断
逻辑运算符&&(与)和||(或)
5、null和undefined类型
都表示什么也没有,原创的一个bug
- 变量没有值,就是undefined ,语法
- 有一个对象object,现在不想赋值,一般给一个null,惯例
- 有一个非对象(数字、字符串、布尔等)现在不想赋值,一般给一个undefined,惯例
6、对象类型
哈希表就是对象类型,前面的几种类型为基本类型,对象为复杂类型,由简单类型组成,对象里面还可以有对象,空字符串''可作为对象的key;
var person = {
'name':'wen'
'age':18,
'gender':'male' , //最后一个逗号es3没有,es5开始有
}
对象取值:
person['name'] //这里要用引号,不用可能会取错值
注:对象的key符合变量标识符规定命名时可以用obj.key(取值特例)进行取值,否则必须用obj['key']进行取值,推荐加引号;
用delete对象删除内容:
delete person['name'] //会删除key和value
如何遍历对象,用for...in:
for(var key in obj)
console.log(key, obj['key']) //obj的key和value会随机的打印出来,不按顺序
7、查询数据类型:
用typeof查询数据类型,其结果如下:
typeof number // number
typeof string // string
typeof boolean // boolean
typeof symbol // symbol
typeof null // object js原始bug
typeof undefined // undefined
typeof object // object
typeof function // function 又一个js原始bug