【发布时间】:2009-06-30 11:12:56
【问题描述】:
我有包含在 try/catch 块中的代码。 我使用 typeof 来确定是否定义了变量:
if (typeof (var) == 'string') {
//the string is defined
}
但是,在 try/catch 块中使用 this 会跳转到 catch 部分,而不是做它应该做的事情(如果定义了字符串,则对字符串做一些事情)。
如何在不激活异常的情况下检查变量是否已定义?
【问题讨论】:
-
看起来您遇到的问题与您认为的不同 - 发布更多代码
-
感谢大家的回答!我的 var 是一个数组项。这就是原因。我定义了数组(作为空数组),现在它可以工作了。由于数组不存在,因此触发了异常。
-
一点:
typeof是一个运算符,而不是一个函数。您不需要在操作数周围加上括号。 [这是从我的答案迁移而来,因为它不是答案;我相信我当时没有足够的代表发表评论]
标签: javascript try-catch