js中unll与undefined的关系

1.相同点

1)Undefined类型派生自null类型,所以在非严格模式的情况下,两者是对等的

undefined==null //true

2)undefined和null在转换为boolean类型的值时,都会转换为fales

3)将两者转换为对象时都会抛出一个TypeError的异常,也就是平时最常见的引用异常

2.不同点

1)null是JavaScript中的关键字,而undefined是JavaScript中的一个全局变量,即挂载在window对象上的一个变量,并不是关键字

2)使用typeof 检测两种数据类型的时候    undefined会返回undefined  而null则会返回对象

3)在通过call调用toString()方法的时候undefined类型的值会返回 "[object Undefined]" 而Null类型的对象会返回"[object Null]"

Object.prototype.toString.call(undefined)//[object Undefined]
Object.prototype.toString.call(null)//[object Null]

4)在进行字符串类型转换的时候 都是会转换成他们本身的字符串变量

undefined + ‘string‘ //undefined string
null + ‘string‘ //null string

5)在进行数值类型转换的时候

undefined = NaN   不可以进行数值运算
null = 0   可以进行数值运算

 

js中unll与undefined的关系

上一篇:跨域,php后端处理


下一篇:Apache不响应含有 Expect: 100-continue 的请求头