javascript - 将 null 分配给 javascript var - 最终为 String

标签 javascript null

<分区>

我已将我的变量初始化如下:

var name = null;

如果我像这样检查它的值,它不会做任何事情:

if(name == null) {
    alert("Name = null");
}

但是如果我将 if 子句更改为那个,它就可以工作了:

if(name == "null") {
    alert("Name = null");
}

乐于提供帮助。

最佳答案

很可能您在全局范围内运行它,在这种情况下,name 指的是 Window.name属性(property)。为该属性分配一个值会自动将值转换为字符串,例如,尝试打开浏览器的控制台并键入以下内容:

var name = 123;
alert(typeof name); 

您很可能会收到一条显示为 string 的警报。

但是,如果您将其放在 IIFE 中(并确保您有一个 var 声明),它的行为符合预期:

(function() {
    var name = null;
    if(name == null) {
        alert("Name = null"); // shows alert
    }
})();

关于javascript - 将 null 分配给 javascript var - 最终为 String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25920544/

相关文章:

javascript - 使用 ASP 变量进行动态表单验证

javascript - 如何获取用户输入并输出值?

Javascript 在 inappbrowser 与 Chrome 中的行为不同 - 未定义的全局变量

javascript - Typescript 错误类型 'null' 不可分配给类型

javascript - 如何更改使用 javascript 创建的元素的颜色

javascript - 如何循环遍历 React 组件中数组内对象的属性?

linq - 使用Linq时,DbNull是否等于Null?

javascript - $(document).ready(function() 在内容页面/Telerik 控件中不能完美运行

ios - block 执行后变量返回 null

java - 当所选选项具有空值时将嵌套对象设置为 null