Viv*_*ath 5 javascript loops object object-properties for-in-loop
我通常使用此模式迭代对象属性:
for(var property in object) {
if(object.hasOwnProperty(property)) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
我不喜欢这种过度的缩进,最近有人向我指出我可以通过这样做摆脱它:
for(var property in object) {
if(!object.hasOwnProperty(property)) {
continue;
}
...
}
Run Code Online (Sandbox Code Playgroud)
我喜欢这个,因为它没有引入额外的缩进级别.这种模式是否正常,还是有更好的方法?
我个人更喜欢:
for(var property in object) if(object.hasOwnProperty(property)) {
...
}
Run Code Online (Sandbox Code Playgroud)
没有额外的缩进,因为如果省略花括号, 、 等将采用下一条语句for
。if
由于我们将所有代码都放在if hasOwnProperty
块内,因此不需要为for
语句添加任何大括号。
本质上它相当于:
for(var property in object) {
if(object.hasOwnProperty(property)) {
...
} else {
continue;
}
}
Run Code Online (Sandbox Code Playgroud)