我有包含在 try/catch 块中的代码。我使用 typeof 来查明变量是否已定义:

if (typeof (var) == 'string') { 
    //the string is defined
}

然而,在 try/catch 块中使用它,会跳转到 catch 部分,而不是执行它应该执行的操作(如果已定义字符串,则对其执行某些操作)。

如何在不激活异常的情况下检查变量是否已定义?

有帮助吗?

解决方案

“变种”是不是有效的变量名 - 它是一个关键字

除此之外,你有什么应该是正确的。

其他提示

我会使用不带“typeof”的直接比较:

var vvv= 2;
alert( vvv !== undefined );

但要小心,要知道您是否要检查真实性(不是 false、null、未定义、“”或 0),还是要检查 null、未定义、false 或这些的组合。

如果您只是想查看该值是否有值,我上面放置的代码应该可以。

作为建议,我找到了这本书 巨大的: JavaScript - 好的部分

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top