循环语句
应用场景:遍历数组和对象
for 循环
- 使用 for(var i = 0; i < arr.length; i ++){ 执行语句 }
- 使用 for( x in arr){ 执行语句 }
语法: for (key in obj) {}
作用: 遍历对象
- 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]);
}
}
}
}
}
}
}
}
}