null是表示用于object为“无”,而undefined用于表示为“无”(包括了对象为无,还包含其他无的数据类型)。记住function也是一种数据类型。
undefined的用在方法:
1、声明了变量,但是没有赋值,使用变量的时候是undefined。
2、调用函数的参数时,函数实参没有给参数,形参就是undefined。(函数是不会报错误的,oob中多态的区别)
3、对象没有给属性的赋值,该属性的值为undefined
4、函数没有返回值,默认返回是undefined
null的用法:
(1) 作为函数的参数,表示该函数的参数不是对象。
(2) 作为对象原型链的终点。
null和undefined在什么情况为true
alert(null === undefined);//true
alert(typeof null === typeof undefined);//false
if(null);//null是等于false
if(undefined);//false
在这里把undefined和null理解为“无”。!理解为“非”。对undefined和null多个角度理解。
在这里,我记得布尔型的判断,但是就是记不住布尔型的判断,虽然很简单,但是在工作很重要。总结一下js中布尔型的数据:
分为数据和字符串:
数据中0和-0被js解释器(web解释器)都会解释为false。其他数据类型解释为true。
字符串:空字符串(“”)被解释为false,其他字符串解释为true。