How to have a statement identify an undefined variable?
本问题已经有最佳答案,请猛点这里访问。
假设您具有以下功能:
1 2 3 4 5 6 7 8 9 10 11 12 | var variable; function(variable); function function(variable) { alert ("variable equals" + variable); if (variable != 'undefined') { ~~~code1~~~ } else { ~~~code2~~~ } } |
警报输出:
variable equals undefined
号
但是,~~~code2~~~永远不会执行。我猜我的语法不正确。如果我没有定义变量,如何让函数函数执行~~~code2~~~~?
额外信息
当变量被硬编码时,如下代码所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 | var variable; function(variable) function function(variable) { variable = 2; alert ("variable equals" + variable); if (exponent == 2) { ~~~code1~~~ } else { ~~~code2~~~ } } |
号
执行~~code1~~~。
1 | > exponent != 'undefined' |
您需要了解抽象的相等比较算法。上面试图将EDOCX1的值(0)与字符串"undefined"进行比较。由于
因此,可以将其值与未定义的值进行比较:
1 | exponent != undefined |
号
或者,可以使用
1 | if (typeof exponent != 'undefined') |
无论您使用上面的严格版本还是抽象版本(分别是