我写了这个javscript,我想要" else"当bgimage不等于7时发生的事件。我已经研究过这个问题并且不清楚如何检查变量是否为null或未定义。目前,当bgimage不等于7时,Firebug只是说" bgimage没有定义。"
感谢您提前告诉我如何做到这一点。
if (bgimage == 7)
{
document.writeln("\n<img src='/v/vspfiles/templates/donnell/images/Company/services_bg.jpg' id='bg' />");
}
else
{
showImage();
}
答案 0 :(得分:2)
检查变量的类型以确定它是否未定义:
if (typeof bgimage != 'undefined' && bgimage == 7)
答案 1 :(得分:0)
如果在{{1}中使用bgimage
时,var
尚未在当前或更高范围内使用var
声明(或将值指定为不包含if
的全局变量)声明你会得到那个错误。您可以按如下方式测试:
if (typeof bgimage === "undefined") {
// hasn't been declared, or is set to undefined
// do something
} else if (bgimage == 7) {
// etc
或者在一行中测试:
if (typeof bgimage != "undefined" && bgimage == 7) {
答案 2 :(得分:0)
您可以使用typeof
测试变量是否未定义,然后将其与原始条件结合使用:
if (typeof(bgimage) != "undefined" && bgimage == 7)
所以现在如果bgimage未定义,或者如果已定义但不等于7,则将使用代码的else
部分。