JS for语句

循环语句

应用场景:遍历数组和对象

for 循环
  1. 使用 for(var i = 0; i < arr.length; i ++){ 执行语句 }
  2. 使用 for( x in arr){ 执行语句 }
    语法: for (key in obj) {}
    作用: 遍历对象
  1. for 计算方式

方式: 第一步 找规律

​ 第二步 根据规律学表达式

​ 第三步 找特殊(特殊条件下输出的结果)

​ 第四步 写表达式

​ 第五步 写输出完成的语句

for 中 break 与 continue

​ break 结束循环,

​ continue 跳过本次循环,继续下一次循环

for(var i = 0; i < 10; i++){
	console.log(i)
}
var tbody = document.getElementById('tbody'); //getElementById() 通过id名字获取标签 
console.log(tbody);
for(var i = 0; i < 5; i++){
    var tr = document.createElement('tr');
    for(var j = 0; j < 4; j ++){
        var td = document.createElement('td');
        tr.appendChild(td); //给tr [əˈpend] 添加子元素 td
        td.innerHTML = (i + 1) + '行' + (j + 1) + '列';
    }
    tbody.appendChild(tr);
}

在这里插入图片描述

for循环看是简单,实则有些程序员只知道这是for循环,但却不会使用,由此反向说明 掌握for循环的不易。

下面这个例子,通过 for 循环 遍历出所有的数据,在这个例子,有着对象,字符串,数组,,甚至还有多层嵌套,如果单纯使用for循环,很难准确得出数据,这时就会使用其他的知识来解决,

在这个例子中,使用 if 判断 函数的构造函数,分别涉及到 对象、数组、字符串等,往往这个时候,一方面考的是经验,另一方面考的是基础知识,一个好的代码玩玩漏洞是少 的,如果仅仅满足于自己做出来了却没有考虑到应有的动态变换,程序代码就得需要重新再次提高质量。

      
       
       var data = {
        "id": 69,
        "categoryName": "服装类",
        "children": [
            {
            "id": 70,
            "categoryName": "男装",
            "children": [
                {
                "id": 104,
                "categoryName": "短袖T恤",
                "children": []
            },
            {
                "id": 105,
                "categoryName": "背心",
                "children": [],
            }
            ]
        }
        
        ]
        
    }
    
   for(x in data){
        var a = data[x];
        console.log(x + ':' + a);
        if(data[x].constructor == Array ){
            for(var i = 0; i < data[x].length; i++){
                var b = data[x][i];
                console.log(b,'======== b ========') ;
                if(data[x][i].constructor == Object){
                    console.log('a')
                    for(x in b){
                        console.log(x);
                        console.log(b[x]);
                        var c = b[x];
                        if(b[x].constructor == Array){
                            // console.log('as')
                            for(var j = 0; j < c.length; j ++){
                                console.log(j);
                                console.log(c[j])
                                var d = c[j];
                                if(d.constructor == Object){
                                    // console.log('sfd');
                                    for(x in d){
                                        console.log(x);
                                        console.log(d[x]);
                                    }
                                }
                            }
                        }
                    }
                } 
            }
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值