JavaScript 的数据类型,共有七种。
1、数值(number)
2、字符串(string)
3、布尔值(boolean)
4、undefined
5、null
6、对象(object)
7、symbol (不常用)
原始类型:number string boolean
复合类型:object
特殊值:undefined null
JS三种方法判断一个值到底是什么类型
1、typeof运算符
数值、字符串、布尔值分别返回number、string、boolean。
注意以下几个案例的typeof的返回值

2、instanceof运算符
3、Object.prototype.toString方法
· 数值(number)
1、整数与浮点数
JS内部,所有的数字都是以64位浮点数形式存储,JS底层语言中没有整数的概念,所有的数字都是小数,即64位浮点数,
因浮点数,不是精确的值,运算时要特别注意

2、数值的表示法
下面两种情况,JS自动转换为科学计数发
(1)小数点前的数字多于21位

(2)小数点后的零多于5个。

3、数值的进制

4、特殊数值
(1)JS 内部实际上存在2个0:一个是+0,一个是-0,区别就是64位浮点数表示法的符号位不同。它们是等价的。
只有作为分子时不等价

(2)NaN,表示“非数字”(Not a Number),主要出现在将字符串解析成数字出错的场合。

5、正无穷Infinity和负无穷-Infinity

· 字符串(string)
1、string 用单引号或双引号表示
2、空字符串和空格字符串

3、转义符:反斜杠 \
4、多行字符串的写法

ES6多行字符串

· 布尔值(boolean)
1、布尔只有两个值true or false
2、下面的运算符计算结果会返回布尔值

3、布尔值转换规则,下面六个值转为false,其他均为true

· null和undefined
null与undefined都可以表示“没有”,相等运算符(==)甚至报告两者相等,那null和undefined有什么区别呢?

· 对象(object)
1、对象就是一组“键值对”(key-value)的集合,是一种无序的复合数据集合
2、键名:对象的所有key都是字符串,加不加引号都可以,非字符串的key会自动转为字符串,但不加引号,key必须符合标识符
3、获取属性值
(1) object[‘key’],方括号运算符,键名必须放在引号里面,否则会被当作变量处理。
(2) object.key,此时key是字符串key
4、查看所有属性
Object.keys方法,属性以数组的方式列出
5、删除对象的属性

6、in运算符
检查对象是否包含某个属性,如果包含就返回true,否则返回false。

7、for…in 循环
for...in循环用来遍历一个对象的全部属性。

网友评论