【发布时间】:2018-06-13 22:28:56
【问题描述】:
我有一个方法 findResult
function findResult(response){
if (response[0].firstProperty.Value > 0)
return true;
else false;
}
在这个方法中,如果响应对象未定义,我们会得到一个 javascript 错误。我的问题是是否使用明确的未定义检查或将代码包装在 try/catch 周围,如下所示:
function findResult(response){
try{
if (response[0].firstProperty.Value > 0)
return true;
else return false;
}
catch(e){
return false;
}
}
【问题讨论】:
-
有无数种方法可以处理这个问题,与其他方法相比,没有一种方法会产生特别大的影响。 (
ifvstry()catch(){}无关紧要)stackoverflow.com/questions/19727905/… 这里真正的问题是如果response是null,你是否想继续在同一个块中执行代码。如果答案是否定的,那么您选择哪种解决方案并不重要 -
谢谢蒂莫西。使用显式检查,条件检查变得太长 例如:if (response && response.length && response[0].firstProperty.Value > 0)
-
所以检查什么是最佳方法。感谢回复
标签: javascript