[js]javascript中4种异步

javascript中4种异步:

1.ajax
2.定时器
3.事件绑定
4,回调

定时器

  //顺序执行
    /*  var s = 0;
      for (var i = 0; i < 10000; i++) {
          if (i == 9999) {
              console.log(9999);
          }
      }
      console.log('not ok');*/

    //死循环
    /*while (1) {
        console.log('looping')
    }
    console.log('ok');*/

    /* setTimeout(function () {
         while (1) {
             console.log('looping')
         }
         console.log('ok');
     }, 2);*/

    //页面加载时候,减少循环, 用异步

    //js4种异步: 1.定时器 2,事件绑定  3,ajax读取数据 4,回调函数


    //定时器是异步的
    /*var n = 1;
    setTimeout(function () {
        n++;
        console.log(n); //后输出
    }, 1000);
    console.log(n); //先输出*/


    //每个浏览器对定时器都有一个最小的等待时间,如果设置小于这个值,也不起作用.
    /*var n = 1;
    setTimeout(function () {
        n++;
        console.log(n); //后输出
    }, 0);
    console.log(n); //先输出*/

    //遇到死循环卡死, 定时器不执行
    /*var n = 1;
    setTimeout(function () { //不执行
        n++;
        console.log(n); //后输出
    }, 0);

    while (1) {
        console.log(n++);
    }
    console.log(n); //先输出   //不执行*/


    //0 5 7
    var n = 0;
    setTimeout(function () {
        n += 2;
        console.log(n);
    }, 20);
    setTimeout(function () {
        n += 5;
        console.log(n);
    }, 5);

    console.log(n);
    for (var i = 0; i < 10000000; i++) {
    }
    console.log(n);

    // 事件绑定是异步的
    for (var i = 0; i < oLis.length; i++) {
        oLis[i].onclick = function () {
            tabChange(i);
        }
    }

异步的执行顺序

代码从上到下执行,
遇到异步代码, 放到异步队列
会先执行同步代码

当同步代码执行完毕, 然后安装时间顺序,将异步代码排序,依次执行

原文地址:https://www.cnblogs.com/iiiiiher/p/9999246.html