<分区>
我已将我的变量初始化如下:
var name = null;
如果我像这样检查它的值,它不会做任何事情:
if(name == null) {
alert("Name = null");
}
但是如果我将 if 子句更改为那个,它就可以工作了:
if(name == "null") {
alert("Name = null");
}
乐于提供帮助。
标签 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 在 inappbrowser 与 Chrome 中的行为不同 - 未定义的全局变量
javascript - Typescript 错误类型 'null' 不可分配给类型
javascript - 如何更改使用 javascript 创建的元素的颜色
javascript - 如何循环遍历 React 组件中数组内对象的属性?
linq - 使用Linq时,DbNull是否等于Null?
javascript - $(document).ready(function() 在内容页面/Telerik 控件中不能完美运行