基本数据类型:Number(数字) String(字符串) Boolean:布尔类型(true,false)
特殊数据类型:Null(空) undefined(未定义)
复合数据类型:Object(对象)
概括来说:ECMAScript中有5中简单数据类型(也称为基本数据类型): Undefined、Null、Boolean、Number和String。
还有1中复杂的数据类型————Object,Object本质上是由一组无序的名值对组成的。
其中Undefined、Null、Boolean、Number都属于基本类型,Object、Array和Function则属于引用类型。
1.变量
ECMAScript中用var关键字来定义变量,因为js是弱类型的,所以无法确定变量一定会存储什么值,也就不知道变量到底会是什么类型,而且变量的类型可以随时改变。
这就是ECMAScript是松散类型的来由,所谓松散类型就是可以用来保存任何类型的数据。
2.typeof 操作符
由于js中的变量是松散类型的,所以它提供了一种检测当前变量的数据类型的方法,也就是typeof关键字.
通过typeof关键字,对这5种数据类型会返回下面的值(以字符串形式显示)undefined ---------- 如果值未定义 Undefined
boolean ---------- 如果这个值是布尔值 Boolean
string ---------- 如果这个值是字符串 String
number ---------- 如果这个值是数值类型 Number
object ---------- 如果这个值是对象或null Object
需要注意的是typeof null返回为object,因为特殊值null被认为是一个空的对象引用。
3.Boolean
虽然Boolean类型的字面值只有两个,但JavaScript中所有类型的值都有与这两个Boolean值等价的值。要将一个值转换为其对应的Boolean值,可以调用类型转换函数Boolean()。
| 数据类型 | 转换为true的值 | 转换为false的值 |
|---|---|---|
| Boolean | true | false |
| String | 任何非空的字符串 | ""(空字符串) |
| Number | 任何非0数值(包括无穷大) | 0和NAN |
| Object | 任何对象 | null |
| Undefined | 不适用 | undefined |

被折叠的 条评论
为什么被折叠?



