如何检查是否定义了一些变量?

时间:2013-04-16 17:11:20

标签: javascript

ich想要检查我的3个变量是否已定义,但这不起作用:

If (typeof inputServer && inputUser && inputPassword !="undefined") {
        alert("it works!");
    }

我的调试器说“Uncaught SyntaxError:Unexpected token {”

请帮帮我:)。

迎接汤姆

4 个答案:

答案 0 :(得分:4)

JavaScript是区分大小写的语言。 if关键字以小i开头。

此外,我建议您使用typeof inputServer !== "undefined"检查变量是否已定义。

参考: Detecting an undefined object property

答案 1 :(得分:3)

if ((inputServer != undefined) && (inputUser != undefined) && (inputPassword != undefined)) {
        alert("it works!");
}

答案 2 :(得分:0)

if(全部更低)而不是If - 并且如果vars没有定义它仍然会给你一个错误,因为你问他们 - 你能做什么(假设这个代码在全球范围内运行,据我所知:< / p>

if(typeof(window.inputServer) != 'undefined' && typeof(window.inputUser) != 'undefined'){

}

答案 3 :(得分:0)

首先,if应为小写。

然后,你可以这样做:

if (inputServer !== undefined && inputUser !== undefined && inputPassword !== undefined) {
    alert("it works!");
}

如果你想检查它们是不是undefined还是null你可以这样做(这是使用双重等同的罕见情况之一):

if (inputServer != null && inputUser != null && inputPassword != null) {
    alert("it works!");
}

最后,如果您想检查它们是否不是任何假值(nullundefinedfalse-0+0NaN''),您可以这样做:

if (inputServer && inputUser && inputPassword) {
    alert("it works!");
}

Sidenote :在大多数正常情况下,您不需要使用typeof - 除非undefined实际上是程序中某处定义的变量...

幸运的是,在ECMAScript 5.1中,无法覆盖window.undefined http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.1.3