gpt4 book ai didi

javascript - 全局范围内的 console.log(!status) 产生意外结果

转载 作者:行者123 更新时间:2023-12-02 22:39:35 25 4
gpt4 key购买 nike

遇到一个有趣的问题。我正在尝试切换分配给变量的 bool 值。它不起作用,最终我尝试了这段代码。

var status = false;
console.log(!status);

我期望它提供true在控制台中,但我得到了 false 。我认为 javascript 会首先运行括号内的代码来查找它的值,然后 console.log 该值。你能解释一下为什么我没有得到 true控制台中的值?

最佳答案

window.status已经存在(它用于获取/设置浏览器状态栏的文本),并且当为其分配值时,它会转换为字符串。如果您执行 console.log( status );,您将看到 status 具有字符串值 "false",这将使您看到输出 false,因为您实际上拥有 !"false" 并且 "false" 是 JavaScript 中的真值。

如果您在函数内执行相同的操作,您将获得预期的输出:

(function ( ) {
var status = false;
console.log(!status); // true
})();

关于javascript - 全局范围内的 console.log(!status) 产生意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40880958/

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