for循環兩個略騷的寫法
阿新 • • 發佈:2018-10-14
常見 image for 解析 次循環 輸出 code for loop ++i
騷寫法
或許你知道,總之我覺得很酷,希望你也這麽認為。
遞增遍歷
最常見場景,從 0 到 10 的遍歷,不輸出 10:
for(let i = -1; ++i < 10;) {
console.log(i)
}
// 0,1,2,3,4,5,6,7,8,9
對比下常規寫法:
for(let i = 0; i < 10; i++) {
console.log(i)
}
// 0,1,2,3,4,5,6,7,8,9
遞減遍歷
倒序遍歷,不遍歷第一個,常見用來刪除元素等:
for(let i = 10; i--;) {
console.log(i)
}
// 9,8,7,6,5,4,3,2,1,0
對比下常規寫法:
for(let i = 10 - 1; i > -1; i--) {
console.log(i)
}
// 9,8,7,6,5,4,3,2,1,0
原理解析:
for(l1; l2; l3) {}
執行順序:
- l1 整個循環開始前執行一次
- l2 當次循環執行前執行一次,判斷是否需要執行
- l3 每次循環結束執行一次
留個小問題,嘗試把兩個簡寫的 ++
與 --
關於 i 的前後位置換換會有什麽效果,為什麽?
for循環兩個略騷的寫法