最近很多初學者都問我關於js中for循環的問題,我簡單的說一下,for循環可以說是js中最常用的循環形勢,初學者剛剛接觸的時候會有點懵。
假設我們要求1到100的和,這時候就需要用到for循環了,我們這次不做實際應用只講原理。不多說上代碼;
var sum=0
for(var i=1;i<=100;i++){
sum=sum+i
}
document.write(sum)
原理分析;
我們正常算1到100的和是這樣算的:
1+2=3/3+3=6/6+4=10/10+5=15/15+6=21···········這樣一直加到100,結果為5050
所以我們定義一個變量來承載這個數與下一個數相加,這就是為什麼要寫var sum=0
for(var i=1;i<=100;i++){
sum=sum+i
}
其中‘i=1’是初始化表達式,i<=100是條件表達式,i++是條件改變。sum=sum+i是循環體
在js中for循環的執行順序是,先執行初始化表達式,再執行條件表達式,然後執行循環體(注意是執行循環體)循環體結束之後再執行條件改變。
這個for循環的原理是;
//sum等於0.用sum與i相加,相加之後賦值給sum,這時候sum=1,然後用執行條件改變i=2,
原理分解;
//1.執行初始化表達式i=1,
//2.執行條件表達式(1<=100)
//3.執行循環體sum等於0與i相加之後付值給sum,這時候sum=1
//4.執行條件改變i++,這時候i=2
//5.執行初始化表達式i=2
//6.執行條件表達式)(2<=100)結果為true
//7.執行循環體sum等於1與等於2的i相加結果等於3,並把3付值給sum
//8/執行條件改變i++,這時候i=3
//9.執行初始化表達式i=3
//10.執行條件表達式(3<=100)結果為true
//11.執行循環體sum=3與等於3的i相加等於6並賦值給sum
//12.執行條件改變i++這時候i=4
//13.執行初始化表達式i=4
//14.執行條件表達式(4<=100)結果為true
//15.執行循環體sum等於6與等於4的i相加結果為10並付值給sum
這樣一直循環下去直到加到100,結果等於5050,拆分之後就會發現在for循環中只要分清執行順序再理解就不難了。
閱讀更多 禾少爺說 的文章