我想检查我的 3 个变量是否已定义,但这不起作用:
If (typeof inputServer && inputUser && inputPassword !="undefined") {
alert("it works!");
}
我的调试器说“Uncaught SyntaxError: Unexpected token {”
请帮我 :)
问候汤姆
我想检查我的 3 个变量是否已定义,但这不起作用:
If (typeof inputServer && inputUser && inputPassword !="undefined") {
alert("it works!");
}
我的调试器说“Uncaught SyntaxError: Unexpected token {”
请帮我 :)
问候汤姆
JavaScript 是区分大小写的语言。if
关键字以 small 开头i
。
此外,我建议您使用typeof inputServer !== "undefined"
来检查变量是否已定义。
REF: 检测未定义的对象属性
if ((inputServer != undefined) && (inputUser != undefined) && (inputPassword != undefined)) {
alert("it works!");
}
首先,if
应该是小写。
然后,你可以这样做:
if (inputServer !== undefined && inputUser !== undefined && inputPassword !== undefined) {
alert("it works!");
}
如果您想检查它们是否不是undefined
OR null
,您可以这样做(这是使用双重相等有用的罕见情况之一):
if (inputServer != null && inputUser != null && inputPassword != null) {
alert("it works!");
}
最后,如果您想检查它们是否不是任何虚假值(null
, undefined
, false
, -0
, +0
, NaN
, ''
),您可以这样做:
if (inputServer && inputUser && inputPassword) {
alert("it works!");
}
旁注:您不需要typeof
在大多数正常情况下使用 - 除非undefined
实际上是在程序中某处定义的变量...
幸运的是,在 ECMAScript 5.1 中,无法覆盖window.undefined
http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.1.3
它是 if(all lower) 而不是 If - 如果没有定义 vars,它仍然会给你一个错误,因为你在问他们 - 你可以做的是(假设这个代码在我理解的全局范围内运行:
if(typeof(window.inputServer) != 'undefined' && typeof(window.inputUser) != 'undefined'){
}