gpt4 book ai didi

javascript - 当 JavaScript 返回 null & undefined 时?

转载 作者:行者123 更新时间:2023-12-03 13:32:06 26 4
gpt4 key购买 nike

我已经使用 JavaScript 好几年了,从不关心 null 之间的区别。 & undefined之前,我总是用undefined验证对象的存在。

但最近我通过this article .他们在这里说

JavaScript distinguishes between null, which is an object of type 'object' that indicates a deliberate non-value, and undefined, which is an object of type 'undefined' that indicates an uninitialized value — that is, a value hasn't even been assigned yet. We'll talk about variables later, but in JavaScript it is possible to declare a variable without assigning a value to it. If you do this, the variable's type is undefined.



我现在完全糊涂了,这里到底什么是非值(value)。此非值与 undefined 有何不同? . javascript返回 null是什么情况.

我已经尝试了以下示例
var sam;
alert(sam); // returns undefined


try {
//var sam;
alert(sam);
} catch(ex) { } // exception says: sam is undefined

而且我不确定js何时返回空值。有人可以澄清我。

最佳答案

alert(sam); // returns undefined



不,那是个异常(exception)。

你得到 undefined当您访问未设置的属性时;直接使用未设置的名称时会出现错误。

全局变量很有趣,因为可以使用简单的变量名或使用 window 的属性来访问它们。全局对象:
alert(window.sam);      // undefined
alert(window['sam']); // undefined
alert('sam' in window); // false
alert(sam); // ERROR

如果 sam已声明但未初始化,访问 window.sam仍然得到你 undefined ,但出于不同的原因: window 中有一个条目 sam 的对象,但它指向相同的 undefined访问不存在的属性时获得的对象。
var sam;
alert(window.sam); // undefined
alert(window['sam']); // undefined
alert('sam' in window); // ** true
alert(sam); // ** undefined

这当然是一个令人困惑的血腥困惑; undefined是 JavaScript 语言设计中最严重的错误之一。
null另一方面很好,与其他语言中的 null/nil/void/None 值几乎相同。它不属于上述任何一种。

关于javascript - 当 JavaScript 返回 null & undefined 时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1559952/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com