可以使用 typeof 操作符来检测变量的数据类型。
typeof "John" // 返回 string
typeof 3.14 // 返回 number
typeof false // 返回 boolean
typeof [1,2,3,4] // 返回 object
typeof {name:'John', age:34} // 返回 object
null 和 undefined 的区别
null:在 JavaScript 中 null 表示 “什么都没有”。null是一个,只有一个值的特殊类型。表示一个空对象引用。
undefined:在 JavaScript 中, undefined 是一个没有设置值的变量。typeof 一个没有值的变量会返回 undefined。
null 和 undefined 都可以用来清空对象。
var person = null; // 值为 null(空), 但类型为对象
var person = undefined; // 值为 undefined, 类型为 undefined
null 和 undefined 的值相等,但类型不等:
typeof undefined // undefined
typeof null // object
null === undefined // false
null == undefined // true
null:表示没有对象,即该处不应该有值
-
作为函数的参数,表示该函数的参数不是对象
-
作为对象原型链的终点
undefined:表示缺少值,即此处应该有值,但没有定义
-
定义了形参,没有传实参,显示undefined
-
对象属性名不存在时,显示undefined
-
函数没有写返回值,即没有写return,拿到的是undefined
-
写了return,但没有赋值,拿到的是undefined
null和undefined如果转换成number数据类型的话
null:默认转成 0
undefined:默认转成 NaN