我有一个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-catch这样做的方式
try{
if(s.d.f.g ==1)
{
doSomeJob();
}
}catch(e){
doSomeOtherJob();
}
与try-catch
的事情。它是否总是试图通过try
内的代码,如果这不起作用,它必须将try
内的所有内容重新回到try
的开头。
只有在重新加注后,它才会进入catch
。这使得使用try-catch
要慢得多。
如果在开始时存在条件(如if-else语句)。声明是错误的,然后它不必通过if
或其余的if语句。
这就是使用if-else
语句更有用的地方,以及为什么你更希望try-catch
尽可能短。