gpt4 book ai didi

javascript - 变量未定义=真;

转载 作者:数据小太阳 更新时间:2023-10-29 04:26:39 27 4
gpt4 key购买 nike

我正在对这个恶意 JavaScript 行进行一些试验:var undefined = true;

JavaScript 中每个未初始化的变量都有 undefined 的值,这只是一个保存特殊值 'undefined' 的变量,所以下面应该执行 警报:

var undefined = true, 
x;

if (x) {
alert('ok');
}

但事实并非如此,我的问题是为什么?

在进一步的实验中,我尝试了以下方法:

var undefined = true, 
x = undefined;

if (x) {
alert('ok');
}

这一次,alert 被执行。

所以我的问题是...因为在第一个片段中 x 包含 undefined(因为它没有被初始化),为什么 alert 执行?奇怪的是,当明确声明 xundefined (x = undefined) 时,alert 被执行。 ..

最佳答案

名为 undefined 的变量和名为 undefined 的值之间存在差异。

var undefined = true, 
x;

在此示例中,变量 undefined 被设置为值 truex 被设置为值(不是变量!) 未定义

var undefined = true, 
x = undefined;

在此示例中,变量 undefined 也设置为值 true,并且 x 设置为包含在变量 undefined(为 true)。

因此,虽然您可以声明一个名为 undefined 的变量,但您无法更改未初始化变量被设置为值 undefined 的事实。

关于javascript - 变量未定义=真;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2534260/

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