undefined,null 都是js中的一种数据类型,两者表示不同的语义。
undefined 表示变量未定义。
var arr
console.log(arr) --> undefined ,声明一个变量,但是没有指名变量是那种数据类型。
声明变量而不赋值,声明的该变量是undefined.
var obj = {}
console.log(obj) --> {}
console.log(obj.a) --> undefined 对象obj中 没有名为a的属性
null 一般 用来赋值,赋值后该变量的值为空。
let a; ........ 一系列对a的操作后,此时需要清空a的值,对a置为空,----> a= null;
console.log(a) -----> null.
简单说。js代码中找不到、未定义的变量都指向undefined。声明一个变量,没有赋初始值,该变量也是undefined.
null 一般需要手动设置,用来设置值为空。两者不用太纠结,随心理解就好。