null和undefined的区别

文/李文源

null表示没有对象,即该处不应该有值。典型用法是:作为函数的参数,表示该函数的参数不是对象。作为对象原型链的终点。undefined表示缺少值,就是此处应该有一个值,但是还没有定义。典型用法是:变量被声明了,但没有赋值时,就等于undefined。

null和undefined的区别

null

null的字面意思是“空值”,这个值的语义是,希望表示一个对象被人为的重置为空对象,而非一个变量最原始的状态。在内存里的表示就是,栈中的变量没有指向堆中的内存对象。

undefined

undefined的字面意思就是未定义的值,这个值的语义是,希望表示一个变量最原始的状态,而非人为操作的结果。这种原始状态会在以下4种场景中出现:

(1)声明了一个变量,但没有赋值

(2)访问对象上不存在的属性

(3)函数定义了形参,但没有传递实参

(4)使用void对表达式求值

猜你喜欢

高考估分怎么估 有哪些技巧

2021-12-20

沙拉是可数还是不可数

2021-12-20

2022哪个网站可以查询大学专业 如何选择

2021-12-20

dating和正式交往有什么区别

2021-12-20

肉是可数名词还是不可数名词

2021-12-20

2022高考预估分数填志愿的软件 有哪些推荐

2021-12-20

book是长音还是短音

2021-12-20

四川文化艺术学院2022年四川省招生简章

2021-12-20

云南艺术学院文华学院2022艺术类校考专业考试科目及要求

2021-12-20

两个动名词做主语是单数还是复数

2021-12-20