<html><head> <title>for</title> <meta http-equiv="content-type" content="text/html ;charset=utf-8"/> <script type="text/javascript"> function doFor(){ var stValue=""; for (var i=1;i<=10;i++){ stValue+=i; } alert(stValue); stValue=""; for (var i=10;i>=10;i--){ stValue+=i; } alert(stValue); }</script></head><body onload="doFor()"></body></html>
3 回答
已采纳
![?](http://img1.sycdn.imooc.com/582d475f000106fc01000100-100-100.jpg)
一杯2块的奶茶
TA贡献226条经验 获得超75个赞
你这样写第二个for出来,stValue肯定是10,你想让他循环10次,起码改这么写吧
for (var i=10;i>=1;i--){}
你这些都是在一个函数里面执行的,也没返回函数,也就不存在什么作用域的问题了,stValue+=i等价于stValue=stValue+i,他们最大的差别就是复合赋值运算符会自动地将运算结果转型为其左操作数的类型。
![?](http://img1.sycdn.imooc.com/5485bdcf00015df201000100-100-100.jpg)
Caballarii
TA贡献1123条经验 获得超629个赞
第二个没有var是因为同一作用于下只能var一次,stValue+=i的意思是stValue=stValue+i,就是自身的值加上i在赋值给自己
添加回答
举报
0/150
提交
取消