广州做网站 汉狮网络网站关键词推广价格
我非常喜欢“ continue
,部分是因为它是一个积极而令人鼓舞的词( 继续,一切都很好
),但主要是因为它可以减少代码并提高效率 ,这几乎总是一件好事。
这是一个快速的准则: continue
语句可以在迭代器中使用,例如for
循环,并且意味着可以继续进行下一个迭代
; 这与break
语句相反,它意味着完全放弃这个循环
。
因此,只要迭代器中的代码完成该迭代,我们就可以使用continue
statemtent来防止解释器读取不必要的代码,并减少必须键入的实际代码量。
例如,此代码:
for(var i=0; i<ary.length; i++)
{if(ary[i] == 'foo'){//something}else{//whatever}
}
也可以这样写:
for(var i=0; i<ary.length; i++)
{if(ary[i] == 'foo'){//somethingcontinue;}//whatever
}
我还是continue
忠实拥护者,因为它可以跳过我们从未感兴趣的条件,例如在遍历对象的属性时忽略外部原型; 所以而不是这样:
for(var i in obj)
{if(obj.hasOwnProperty(i)){//whatever}
}
我们做得到:
for(var i in obj)
{if(!obj.hasOwnProperty(i)) { continue; }//whatever
}
那么真正的区别是什么? 好吧,我们避免了对支撑条件的需求,该条件可以使代码更高效(因为解释器不必评估该条件),而且我认为这也使代码更易于阅读-每个支撑级别引入了额外的认知负担,因此仅出于这个原因就希望减少它们。 continue
语句是避免迭代代码中出现此类条件的一种方法,这就是为什么我如此喜欢它们的原因。
From: https://www.sitepoint.com/continue-the-forgotten-statement/