否则变量的其他声明

时间:2012-08-28 20:59:00

标签: javascript

我写了这个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();
} 

3 个答案:

答案 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部分。