gpt4 book ai didi

javascript - 检查时未捕获的ReferenceError(未定义)===未定义

转载 作者:行者123 更新时间:2023-11-28 17:33:37 31 4
gpt4 key购买 nike

我有以下代码:

simpleExample.html:

<!DOCTYPE html>
<html lang="en">
<head>
<title>Simple example</title>
</head>
<body>
Open the Console.
<script src="js/simpleExampleJS.js"></script>
</body>
</html>

js/simpleExampleJS.js:

MyObject = {
COMPUTER_GREETING: "Hello World!",
hello: function() {
console.log(MyObject.COMPUTER_GREETING);
}
};

checkSomeGlobal = function() {
if(someGlobal === undefined) {
console.log("someGlobal is undefined & handled without an error.");
} else {
console.log("someGlobal is defined.");
}
};

MyObject.hello();
checkSomeGlobal();

当我运行这个时,我得到:

Hello World!
Uncaught ReferenceError: someGlobal is not defined
at checkSomeGlobal (simpleExampleJS.js:9)
at simpleExampleJS.js:17

(第一行输出一般表示代码正在加载并运行)。

MDN indicates潜在 undefined variable 可以用作严格等于/不等于的左侧大小 comparison 。然而,在检查 if(someGlobal === undefined) 时,该行代码会产生错误,因为变量未定义,而不是进行比较评估为true。如何检查并处理这种 undefined variable 的情况而不出现错误?

最佳答案

该错误表示不存在这样的变量(从未声明过),而不是其值未定义

要检查变量是否存在,可以编写typeof someGlobal,如下所示:

if (typeof someGlobal === "undefined")

关于javascript - 检查时未捕获的ReferenceError(未定义)===未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49660037/

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