NaN:
1.如果一个未定义的变量加上一个数,结果会是NaN
let num
num = num + 1
console.log(num) //NaN
2. 如果一个未定义的变量加上未定义的变量,结果会是NaN
但是注意如果一个未定义的变量加上一个字符串就变成字符串
3.NaN做任何操作都是NaN
undefined
1.let arr = []声明变量未给值,则输出为undefined
2.还有传参时没有给实参,形参就是undefined
所以为了程序更严谨,会给形参设置默认值,默认值为0
3.函数体内未定义
function fn() {
// 函数可以没有return,这种情况函数默认值为undefined
}
let res = fn()
console.log(res) // undefined
4.注意:
null==undefined //true,值是当0看,或FALSE看
null===undefined //false