09循环

09循环

(1)for循环

①标准写法:

for(初始条件;结束条件;迭代){代码块}

for( var i = 0; i < 5; i++ ){//代表永远不会结束
        console.log('for循环里的i值为:', i);
    };  

​ 在for循环括号里边声明的变量i是全局变量。

​ 其他写法(不建议):

var a = 0; //初始条件
    for( ; a < 5;  ){
        console.log('我是初始条件在外边的for循环');
        a++;//迭代
    };
②嵌套:

for与for:

var num = 0;
for (var a = 0; a < 10; a++){//10次
	for(var b = 0; b < 9; b++){//9次
		num++;
	}
}
console.log(num);//90

for与if:

<style>
    .pink{color:hotpink;}
    .blue{color:blue;}
</style>

<body>
    <ul>
        <li>1</li>
         <li>2</li>
         <li>3</li>
    </ul>
</body>

<script>
	var oLi = document.querySelector('ul').children;
	for( var i = 0; i < 8; i++){
    	if(i%2){
        	oLi[i].classList.add('pink');
    	}else{
        	oLi[i].classList.add('blue')
    	}
	}
</script>
③for in

专门用来遍历对象的

var obj = {
    nickname: '小明', 
    age: 3, 
    hobbies: ['sing', 'jump', 'rap','basketball']};
 for( var key in obj ){
        console.log(key);//key是属性名
        console.log(obj[key]);
        // console.log( obj.key );//obj的key属性
    };
    console.log(key);
④continue,break

continue 打断当前循环

break 打断

//打断y===5时
for( var y = 0; y < 10; y++ ){
        if( y === 5 ) continue
        console.log(y);
    };
//i===10时直接全打断
 for( var i = 0; i < 20; i++ ){
        if( i === 10 ) break
        console.log(i);
    };
⑤起名字
ming://ming就是这个for循环的名字
for( var e = 0; e < 4; e++ ){//4
        if( e === 1 ) continue ming
        console.log(e);
    };
⑥应用

做一些相似的事情

1>遍历数组:
var arr_a = ['你','好','宠','儿'];
for( var a = 0; a <arr_a.length; a++){
    console.log( arr_a[a]);
}
2>九九乘法表:
<body>
    <div class = "box"></div>
</body>

<script>
	var box = document.querySelector('.box');
   	console.log(box);

    //这里我们利用表格来做
    var table_one = document.createElement('table');
    // table_one.style.cssText = 'width: 700px;height: 400px;text-align: center;border-collapse: collapse;';
    
    for( var i = 1; i <= 9; i++ ){//能创建9个tr标签
        var tr = document.createElement('tr');
        // tr.style.border = '1px solid black';
        for( var k = 1; k <= i; k++ ){
            var td = document.createElement('td');
            td.innerText = k + '*' + i + '=' + i*k;
            // td.style.border = '1px solid black';
            tr.append( td );
        };
        table_one.append( tr );
    };
    box.append(table_one);
</script>
3>冒泡排序

下边将2,4,1,3,5从大到小排序

2,4,1,3,5

第一轮:

  • 对比第一个数字和第二个数字 2,4,1,3,5

    对比第二个数字和第三个数字 4,2,1,3,5

    对比第三个数字和第四个数字 4,2,3,1,5

    对比第四个数字和第五个数字 4,2,3,5,1

第二轮:

对比第一个数字和第二个数字 4,2,3,5,1

对比第二个数字和第三个数字 4,3,2,5,1

​ 对比第三个数字和第四个数字 4,3,5,2,1

第三轮:

对比第一个数字和第二个数字 4,3,5,2,1

对比第二个数字和第三个数字 4,5,3,2,1

第四轮:

对比第一个数字和第二个数字 5,4,3,2,1

总之:一共会进行该数组长度-1轮比较,第一轮将会得到最大(最小)的数

案例中,外层循环表示走了几轮(数组长度-1),内层for循环表示每轮循环中比较了几次

var arr = [2,4,1,3,5];
for( var c = 0,length = arr.length; c < length - 1;c++){
    for ( var d = 0;d < length - 1 - c; d++){
        if(arr[d] < arr[d+1]){//判断是否需要调换数据的位置
            var little = arr[d];//先保存下来
            arr[d] = arr[d+1];
            arr[d+1] = little;
        }
    }
}
console.log(arr);

(2)while循环

while( 判断条件 ){ 如果判断条件为真,就会走这个代码块里边的代码 }

 var i = 0;
    while( i < 10 ){
        console.log(i);
        i++;
    };

do while 后置判断

 do{//不管判断为真还是假都先走一次
        console.log(i);
        i++;//1
    }while( i > 10 );

应用:

var result;
    do{
        result = prompt( '太阳从东边升起吗', '不是' );
    }while( result !== '是' );
//必须写输入“是”,否则一直弹出该窗口

(3)switch循环

switch( 判断什么东西 ){ case 某条件: 语句 }

var obj = { nickname: '小明', property: '阿姨' };
switch( obj.property ){
        case '阿姨':
            console.log('给阿姨倒一杯卡布奇诺');
        break;
        case '叔叔' :
            console.log('泡一杯茶');
        break; 
        default ://default默认
            console.log('hello 小明');
    };
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值