这个语句可以说相当方便了,特别是数据庞大的循环简直是神器!但难点在于理解边界在哪里。
先来说说 for 循环的语法吧;
for(初始条件;条件判断;条件变化){
// 循环的代码
}
执行顺序:
1. 先初始条件
2. 开始条件判断
3. 如果成立,执行要循环的代码块
4. 条件变化
2,3,4,2,3,4....
直到条件判断不成立,整个循环结束
注意:
条件判断一直为true,循环会一直执行下去,称之为死循环
for循环中一定要写两个分号
对于执行顺序,那是一定要认清的,否则循环的次数就可能跟预想的有出入, 还要注意的是最好不要让电脑陷入死循环,除非你是勇士,浏览器会卡死,分分钟挂掉,所以说,作为一个正经程序员要善待浏览器这个好朋友哇!!!
还记得99乘法表吗 ?是的,我们用for循环做了一个,部分代码如下:
<script> var box = document.getElementById(‘box‘); //自定义一个变量str,初始为空字符 var str =‘‘; //使用for循环确定总共有9列,即生成九个div. // i 为列数 , j 为行数 for(var i = 1 ; i < 10 ; i++ ){ //将str拼合起来 str +=‘<div>‘; //每一列列数不变, 行数从 i 开始循环一直到 9 for(var j = i ;j < 10 ;j++){ var n = i + ‘x‘ +j + ‘=‘ +i*j str += ‘<span>‘+n+‘</span>‘ } str += ‘</div>‘ } box.innerHTML = str; </script>
如果用 html+css 也能做出来,但 js 相对来说写的字符就少一些,否则81个小方块再填不同的算式,那得整到猴年马月啊。
单单使用 for 循环难免太乏味,所以我做了一个 if + for 的小东东 ,一个 V 形小方盒,最有特色的地方就是找规律,定位每个小盒子left,top值,一起来看:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <style> .box{ position:relative; width: 300px; height: 300px; border:1px solid #000000; margin:0 auto; } .box div{ position:absolute; width:60px; height: 60px; background-color: mediumpurple; color:#fff; } </style> <body> <!--生成一个容器放置V形变换的 div --> <div class="box"> <!--<div style="‘left:‘+i*60‘px‘;‘top:‘+(2-i)*60+‘px‘">1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div>--> </div> <script> //声明变量 var box = document.getElementsByClassName(‘box‘) //自定义空标签(用来拼接内嵌div) var str = ‘‘ //进入 for 循环,生成5个 div for(var i = 0 ; i< 5; i++){ //判断i的大小,left 值从 0 以每个 div 的宽度递增 if(i <= 2){ //当 i <= 2 时,top值从 0 的高度以每个 div 高度递增至 2 个 div str +=‘<div style="left:‘+i*60+‘px;top:‘+i*60+‘px">‘+i+‘</div>‘ }else{ //当 i > 2 时,top值从 2 个 div 的高度以每个 div 高度递减至 0 str +=‘<div style="left:‘+i*60+‘px;top:‘+(4-i)*60+‘px">‘+i+‘</div>‘ } } //把 str 值赋给 box 里边的div box[0].innerHTML = str </script> </body> </html>
现在已经意识到原来数学找规律真不是白学的,虽然买菜用不上微积分,用不上找规律,但在使用计算机时,数学真的是太重要了,嗯~要重新重视起来了,。