将null赋给javascript var - 最终为String

时间:2014-09-18 19:08:00

标签: javascript null

我已将变量初始化为以下内容:

var name = null;

如果我检查它的值是这样的,它什么都不做:

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

但是如果我将if子句改为,那就可以了:

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

为每一个帮助感到高兴。

1 个答案:

答案 0 :(得分:8)

您运行的可能性在全球范围内,在这种情况下name引用Window.name属性。为此属性分配值会自动将值转换为字符串,例如,尝试打开浏览器的控制台并键入以下内容:

var name = 123;
alert(typeof name); 

您很可能会收到显示string的提醒。

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

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