最近很多初学者都问我关于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循环中只要分清执行顺序再理解就不难了。
閱讀更多 禾少爺說 的文章