我的代码包含在try / catch块中。 我使用typeof来确定是否定义了变量:
if (typeof (var) == 'string') {
//the string is defined
}
但是,在try / catch块中使用它,跳转到catch部分而不是执行它所做的事情(如果定义了字符串,则执行某些操作)。
如何在不激活异常的情况下检查是否定义了变量?
答案 0 :(得分:14)
'var'不是有效的变量名 - 它是一个关键字。
除此之外,你所拥有的应该是正确的。
答案 1 :(得分:0)
我会使用没有'typeof'的直接比较:
var vvv= 2;
alert( vvv !== undefined );
要小心,要知道是否要检查truliness(非false,null,undefined,“”或0),null,undefined,false或这些的组合。
如果您只是想看到该值有值,我上面的代码应该这样做。
作为建议,我发现这本书巨大的:JavaScript - the Good Parts