JavaScript 定义了几种数据类型? 哪些是简单类型?哪些是复杂类型
定义了六种数据类型
- number 整数和小数
- string 字符组成的文本
- boolean true和false
- undefined 未定义或不存在
- null 表示空缺,应该有个值,但目前没有
- object 各种值组成的集合
简单类型
number string boolean
复杂类型
object
特殊值
undefined null
NaN、undefined、null分别代表什么?
NaN 表示非数字的数字类型
null表示空值,即该处的值现在为空。典型用法是:
- 作为函数的参数,表示该函数的参数是一个没有任何内容的对象。
- 作为对象原型链的终点。
undefined表示不存在值,就是此处目前不存在任何值。典型用法是:
- 变量被声明了,但没有赋值时,就等于undefined。
- 调用函数时,应该提供的参数没有提供,该参数等于undefined。
- 对象没有赋值的属性,该属性的值为undefined。
- 函数没有返回值时,默认返回undefined。
typeof和instanceof的作用和区别?
typeof 判断对象类型,返回数据类型 “number” “string” “boolean” “object” “function” “undefined”
instanceof 判断某个对象是否是数组或者某个变量是否是对象的实例,返回值为true或false