gpt4 book ai didi

javascript - typeof 运算符是否连续显示为一个变量分配的更改的不同数据类型?

转载 作者:行者123 更新时间:2023-12-03 04:16:32 24 4
gpt4 key购买 nike

我目前正在为我声明的变量摆弄 typeof 运算符。我在 Chrome Developer 中所做的是创建一个声明多个变量的语句,就像这样。

var x, y, z;

然后,我决定像这样分配语句中的每个变量。

var x = 7;
var y = 100;
var z = x + y;

当然,这是一个算术表达式,因此每个变量的整个内容,一旦使用 typeof 运算符,就会显示一个表示数字的字符串。

现在我决定随便看看 Javascript 的怪癖,并发现了这个。

我决定像这样将每个变量更改为未定义。

var x;

当我这样做时,我决定使用 typeof 运算符。结果却让我大吃一惊。

typeof (x);

字符串仍以数字形式返回。

我的问题是,上面的示例中到底发生了什么,当它实际上未定义时,不断向我显示来自 typeof 运算符的数字数据类型?

最佳答案

var x=7;
var x;

这不会重新声明变量。变量实际上不能被重新声明。如果您想将变量更改为未定义,请执行以下操作:

var x=6;
x=undefined;
alert(typeof x);

或者您可能想删除它:

var context={x:6};
delete context.x;
alert(typeof context.x);

但是,这在最高(窗口)范围内不起作用。

关于javascript - typeof 运算符是否连续显示为一个变量分配的更改的不同数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44116543/

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