我的javascript代码中的空检查似乎没有按预期运行。 它是这样的:
if (myVariable) {
// Do things with my variable
}
当我到达if语句的内部时,Chrome的java控制台说我正在尝试使用的值(myVariable)为null。也许我不理解if语句? 抛出错误的具体行是
window.document.getElementById("myElement").innerText = myVariable
提前致谢。
答案 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.