我有一个json,我需要检查一些值并执行某些任务,说这是我的json,
s = {
"d": {
"f": {
"g": 1
}
}
}
和键d,f和g可能存在或可能不存在,并且如果g == 1,则我需要执行某些任务。因此,以下哪项可以给我带来更好的性能。
if-else其他方式
if(s.d && s.d.f && s.d.f.g && s.d.f.g ==1)
{
doSomeJob();
}
else
{
doSomeOtherJob();
}
尝试捕获的方式
try{
if(s.d.f.g ==1)
{
doSomeJob();
}
}catch(e){
doSomeOtherJob();
}
答案 0 :(得分:1)
带有try-catch
的东西。是它总是尝试遍历try
内的代码,如果不起作用,则必须将try
内的所有内容重新滚动回到try
的开头。
只有重新滚动后,它才会输入catch
。这使得使用try-catch
的速度要慢得多。
如果开始时存在条件(例如if-else语句)。而且该语句为假,则不必遍历if
或其余所有if语句。
这就是使用if-else
语句更有用的地方,以及为什么您希望try-catch
尽可能短。