0

我有我写的这个 javscript,我希望当 bgimage 不等于 7 时发生“else”事件。我已经研究了这个问题,但不清楚如何检查变量是否为 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();
} 
4

3 回答 3

2

检查变量的类型以确定它是否未定义:

if (typeof bgimage != 'undefined' && bgimage == 7)
于 2012-08-28T21:01:07.137 回答
0

如果在当前或更高范围内bgimage未声明 with 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) {
于 2012-08-28T21:01:21.140 回答
0

您可以使用 测试变量是否未定义typeof,然后将其与您的原始条件相结合:

if (typeof(bgimage) != "undefined" && bgimage == 7)

因此else,如果 bgimage 未定义或已定义但不等于 7,则现在将使用您的代码部分。

于 2012-08-28T21:01:56.213 回答