===和==的区别?
===我们称之为等同符 它是即判断值也判断值类型 等号两边相同返回true,不同返回false
==我们称之为等值符 它只判断等号两边的值是否相同,如果类型不同会发生类型的自动转换,转换为相同的类型之后再做比较

null和undefined的区别?
null是空值 typeof检测出来是一种字符串类型的'object',验证null时 一定要使用===,因为==无法区分null和undefined
undefined是声明了变量但并未赋值 typeof检测出来是一种字符串类型的'undefined'

注意点
一.null可以理解为'没有对象',就是此处不应该有值,典型用法是:
1.作为函数的参数,表示该函数的参数不是一个对象
2.作为对象原型链的终点

二.undefined可以理解为'缺少值',就是此处应该有一个值,但是还没有定义,典型的用法是:
1.变量被声明了,但并没有赋值,就等于undefined
2.调用函数时,应该提供的参数没有提供,该参数等于undefined
3.对象没有赋值的属性,该属性的值为undefined
4.函数没有返回值时,默认返回undefined