我已经如下初始化了我的变量:
var name = null;
如果我像这样检查它的值,它不会做任何事情:
if(name == null) {
alert("Name = null");
}
但如果我把if条件改为那样,它就可以工作:
if(name == "null") {
alert("Name = null");
}
很高兴能够为您提供帮助。
我已经如下初始化了我的变量:
var name = null;
if(name == null) {
alert("Name = null");
}
但如果我把if条件改为那样,它就可以工作:
if(name == "null") {
alert("Name = null");
}
很高兴能够为您提供帮助。
很可能你是在全局作用域中运行的,因此name
指的是Window.name
属性。给这个属性赋值时会自动将该值转换为字符串。例如,尝试打开浏览器控制台并输入以下内容:
var name = 123;
alert(typeof name);
string
。var
声明),它会按预期运行:(function() {
var name = null;
if(name == null) {
alert("Name = null"); // shows alert
}
})();
if(name === 'null')
也会通过。 - Sterling Archer===
更好。第二,正如我所辩论的那样,这个问题并不适用于此处。 - user2864740