Javascript空检查似乎不起作用

时间:2013-06-19 17:09:59

标签: javascript google-chrome null

我的javascript代码中的空检查似乎没有按预期运行。 它是这样的:

if (myVariable) {
// Do things with my variable
}

当我到达if语句的内部时,Chrome的java控制台说我正在尝试使用的值(myVariable)为null。也许我不理解if语句? 抛出错误的具体行是

window.document.getElementById("myElement").innerText = myVariable

提前致谢。

2 个答案:

答案 0 :(得分:8)

告诉你

window.document.getElementById("myElement")

null。这可能意味着您的代码在解析DOM之前就已经运行了。

您应该如何修复它取决于您未向我们展示的代码,但作为实验,您可以尝试将该代码移至<script>末尾的<body>标记,并查看是否这有帮助。另外,验证“myElement”确实是您要定位的元素的“id”。

答案 1 :(得分:0)

当您为null或未定义的值赋值时,这不是问题,不应抛出异常。

例如,你可以明确地说:

var something = null;
var somethingElse = undefined;
var somethingOtherThing = myNonExistentObject;

这似乎意味着你误解了这个例外?或者别的什么都错了。例如,您尝试分配的属性为null或未定义。

以下内容会引发错误:

var something = null;
something.foo = 123; //error! something is null.