【发布时间】:2013-08-30 22:45:48
【问题描述】:
假设你有以下功能:
var variable;
function(variable);
function function(variable) {
alert ("variable equals " + variable);
if (variable != 'undefined') {
~~~code1~~~
} else {
~~~code2~~~
}
}
警报输出:
变量等于未定义
但是,~~~code2~~~ 永远不会被执行。我猜我的语法不正确。如果我没有定义变量,如何获取函数函数来执行~~~code2~~~?
额外信息
当变量变量被硬编码时,如下代码:
var variable;
function(variable)
function function(variable) {
variable = 2;
alert ("variable equals " + variable);
if (exponent == 2) {
~~~code1~~~
} else {
~~~code2~~~
}
}
~~~code1~~~ 被执行。
【问题讨论】:
-
试试
!==或typeof !==见stackoverflow.com/questions/27509/… -
您正在警告一个名为“variable”的变量,但您的 if 测试是在一个名为“exponent”的变量上进行的。你描述问题的方式对我来说听起来就像你认为你只有一个变量。对于您显示的代码,将值 2 分配给 variable 会影响对 exponent 的 if 测试是没有意义的。 另外,请澄清您所说的“未定义的变量”,因为它可能表示“存在但保存值 undefined 的变量”,也可能表示“根本不存在的变量”。
-
嗯,它似乎是重复的。我想我的搜索查询有点不对劲,但感谢所有回复的人。
标签: javascript undefined