美文网首页
JavaScript for循环

JavaScript for循环

作者: 追逐_e6cf | 来源:发表于2019-02-13 20:01 被阅读0次

一、for语句

for(1; 2; 4){
    3;
}
1:定义语句
2:判断语句
3:执行体
4:(迭代)变化语句
1->2(true)->3->4->2(ture)->3->4->2->3->4->2(false)
var oBtn = document.getElementById('btn');
var oBox = document.getElementById('box');
oBtn.onclick = function(){
    var str='';
    for(var i = 0;i<10;i++){
        str += "<div></div>";
        console.log(str);
    }
    oBox.innerHTML += str;  
}

二、遍历数组

var oLis = document.getElementsByTagName('li');
for(var i =0;i<4;i++){
    oLis[i].index = i;
    oLis[i].onclick = function(){
        alert(this.index);//谁调用这个函数 this就是谁
        alert(i);//此时i均为4
    }
}

三、遍历字符串

var str = "𠮷";//乱码 因为𠮷字已经不是utf8的范围了!
var str = "54321";
console.log(str.length);//经过了两次类型转换
console.log(typeof str);//string
for(var i=0; i<str.length; i++){
    console.log(str[i]);
}

四、跳出循环和终止循环

  1. 跳过某一个循环:continue。
  2. 终止循环:break。
for(var i=0;i<50;i++){
    if (i == 25) {
        console.log(i+10);
        continue;
    }
    //25判断完了 跳到26去了!
    console.log(i);
}

for(var i=0;i<10000;i++){
    if (i == 25) {
        console.log(i+10);
        break;//终止循环
    }
    //25判断完了 就挂了
    console.log(i);
}

五、label标签

  1. 用于给for循环打个标记,便于终止和跳出。
  2. 可以看做一个变量,但是不能用var定义,会报错。
out:
for(var i=0;i<2;i++){
    in:
    for( var j = 0;j<3;j++){
        if (j === 2) {
            continue out;
        }
        console.log(`里层执行了第${j}次`);
    }
    console.log(`外层执行了第${i}次`);
}

六、for循环的性能

  1. 使用console.time('tag')console.timeEnd('tag')系统会打印出大致的代码执行时间。
  2. 尽量减少回流:当我们在页面上增加元素,改变元素宽高,放大缩小我们的窗口,改变标签的属性"<div></div>" ,此时页面会发生重新渲染。
  3. 尽量把arr.length取出来,再循环。
var oBtn = document.getElementById('btn');
var oBox = document.getElementById('box');
oBtn.onclick = function(){
    console.time('tag1');
    for(var i = 0;i<10;i++){
        //1.循环的每次执行 都要取出我们的innerHTML 
        //2. 随着代码量的增多 innerHTML 也越来越多 越来越慢! 重新渲染了10次
        oBox.innerHTML += "<div></div>";
    }
    console.timeEnd('tag1');
}


var oBtn = document.getElementById('btn');
var oBox = document.getElementById('box');
oBtn.onclick = function(){
    console.time('tag1');
    var str='';
    for(var i = 0;i<10;i++){
        str += "<div></div>";
    }
    oBox.innerHTML += str; //随着代码量的增多 innerHTML 也越来越多 越来越慢! 重新渲染了 1次!!!!!!
    console.timeEnd('tag1');
}
var oLis = document.getElementsByTagName('li');
console.time('tag1');
for(var i=0;i<oLis.length;i++){
    oLis[i].style.backgroundColor = '#f60';
}
console.timeEnd('tag1');


console.time('tag2');
var i=0,
    len=oLis.length;
for(; i<len;i++){
    oLis[i].style.backgroundColor = '#f60';
}
console.timeEnd('tag2');


console.time('tag3');
for(var i=-1;oLis[++i];){ //当取出undefined之后 循环结束
    oLis[i].style.backgroundColor = '#f60'; 
}
console.timeEnd('tag3');
/**第三种性能最好,但不推荐,因为如果数组中的数组为[0,null,undefined,'',NaN,false]时,将自动退出/

七、文档流

  1. document.write只会写入到一个打开的文档流中,将内容追加到body后边。
  2. 如果用.write书写js代码的时候,需要用到转义\
  3. 当window的资源加载完毕之后,我们认为文档流关闭,此时write会重新打开文档流,覆盖原有内容。
  4. 注册事件不影响文档流加载,代码读取完毕之后,注册的事件还在。
var oBox = document.getElementById('box');
window.onload = function(){
    // document.open();//打开文档流
    document.write(`<script>alert(1)<\/script>`);
    // document.close();//关闭文档流
}

document.onclick = function(){
    // document.open();//打开文档流
    document.write(`123'`);
    // document.close();//关闭文档流
}

相关文章

  • Js事件循环

    列表 JavaScript事件循环 测试金字塔 stub JavaScript事件循环理解 javaScript语...

  • JavaScript中的for循环

    JavaScript 语言中的 for 循环用于多次执行代码块,它是 JavaScript 中最常用的一个循环工具...

  • JavaScript简易模态框2

    这里顺便纠正了一个JavaScript的观点for in循环中JavaScript循环的是 索引 而不是某个内容

  • JavaScript中的for循环

    JavaScript 语言中的 for 循环用于多次执行代码块,它是 JavaScript 中最常用的一个循环工具...

  • javascript循环

    ——这篇文章主要介绍javascript中几大循环的区别 最原始的js循环 es5出现以前,我们要遍历一个数组时,...

  • JavaScript循环

    程序中进行有规律的重复性操作,需要用到循环语句。 for循环 for(var i=0;i

  • javascript循环

    循环语句 i++ 相当于 i+1; for 循环格式 例如:for (var i = ali.ength;...

  • javascript循环

    JavaScript里面循环有很多,今天主要说说forEach map filter every some 一、f...

  • JavaScript for of循环

    for of ES6提供三个新的方法——entries(),keys()和valueOf()——用于遍历数组。可以...

  • Javascript for 循环

    for 语句用来控制循环结构,按照指定的循环次数,循环执行循环体内语句(或语句块)。 基本结构如下: for(in...

网友评论

      本文标题:JavaScript for循环

      本文链接:https://www.haomeiwen.com/subject/jqmdeqtx.html