null,undefined 的区别?=== 和 ==的区别?
null,undefined的区别
null 表示一个对象被定义了,值为“空值”;
undefined 表示不存在这个值
typeof undefined //undefined
undefined :是一个表示"无"的原始值或者说表示"缺少值",就是此处应该有一个值,但还 没有定义。当尝试读取时会返回 undefined;
例如变量被声明了,但没有赋值时,就等于 undefined
typeof null //object
null : 是一个对象(空对象, 没有任何属性和方法);
例如作为函数的参数,表示该函数的参数不是对象;
注意:
在验证 null 时,一定要使用=== ,因为 == 无法分别 null 和 undefined
undefined 表示"缺少值",就是此处应该有一个值,但是还没有定义。典型用法是:
1、变量被声明了,但没有赋值时,就等于 undefined
2、调用函数时,应该提供的参数没有提供,该参数等于 undefined
3、对象没有赋值的属性,该属性的值为 undefined
4、函数没有返回值时,默认返回 undefined
null 表示"没有对象",即该处不应该有值。典型用法是:
4.1) 作为函数的参数,表示该函数的参数不是对象
4.2) 作为对象原型链的终点
===与==的区别
===:三个等号我们称为等同符,当等号两边的值为相同类型的时候,直接比较等号两边的值,值相同则返回 true,若等号两边的值类型不同时直接返回 false。也就是说三个等号,既要判断值也要判断类型是否相等
==:两个等号我们称为等值符,当等号两边的值为相同类型时比较值是否相同,类型不同时会发生类型的自动转换,转换为相同的类型后再作比较。也就是说两个等号只要值相等就可以
浙公网安备 33010602011771号