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);
}
}

异步的执行顺序

代码从上到下执行,

遇到异步代码, 放到异步队列

会先执行同步代码

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

[js]javascript中4种异步的更多相关文章

  1. JavaScript中两种类型的全局对象/函数【转】

    Snandy Stop, thinking is the essence of progress. JavaScript中两种类型的全局对象/函数 这里所说的JavaScript指浏览器环境中的包括宿 ...

  2. javascript中几种this指向问题

    javascript中几种this指向问题   首先必须要说的是,this 永远指向函数运行时所在的对象,而不是函数被创建时所在的对象. (1).作为函数名调用   函数作为全局对象调用,this指向 ...

  3. JavaScript中四种不同的属性检测方式比较

    JavaScript中四种不同的属性检测方式比较 1. 用in方法 var o = {x:1}; "x" in o; //true "y" in o; //fa ...

  4. JavaScript 中 4 种常见的内存泄露陷阱

    了解 JavaScript 的内存泄露和解决方式! 在这篇文章中我们将要探索客户端 JavaScript 代码中常见的一些内存泄漏的情况,并且学习如何使用 Chrome 的开发工具来发现他们.读一读吧 ...

  5. 更优雅的方式: JavaScript 中顺序执行异步函数

    火于异步 1995年,当时最流行的浏览器--网景中开始运行 JavaScript (最初称为 LiveScript). 1996年,微软发布了 JScript 兼容 JavaScript.随着网景.微 ...

  6. JavaScript中七种数据类型·中·一

    Standing on Shoulders of Giants; 说到JavaScript里的类型很容易就让人想起 42和"42",分别是string型和number型,但是他们可 ...

  7. javascript中五种基本数据类型

    前言: JavaScript中有五种基本数据类型(也叫做简单数据类型)分别为:undefined.null.bolean.number.string:另外还含有一种复杂的数据类型:object. 深入 ...

  8. 在JavaScript中同步与异步

    在JavaScript中,一个线程执行的时候不依靠其他线程处理完毕我们称为异步,相反一个线程必须等待直到另一个线程处理完毕我们则称为同步.打个比方: (1)同步就是你在煮方便面的时候必须等水开了,你才 ...

  9. javascript中6种基本数据类型详解

    javascript中有5中数据类型(也称为基本数据类型):Undefined.Null.Boolean.Number和String,还有一种复杂数据类型——object,object本质是由一组键值 ...

随机推荐

  1. Ubuntu 下 Sublime 无法输入中文?(已解决)

    在 Ubuntu 里安装了 Sublime 却不能输入中文? 这可不好. 怎么办呢? Follow Me! 1 获得 sublime-imfix.c 文件 有 GitHub 账号的,可以从 https ...

  2. 引用了System.Configuration命名空间,却找不到ConfigurationManager类

    用ConfigurationManager类来读取应用程序配置文件的信息时,提示:System.Configuration命名空间下找不到ConfigurationManager类 查过资料后得知:要 ...

  3. 我的阿里、腾讯暑期实习Offer经历

    三四月份对我拿来说是个忙碌的两个月,实验室项目到了关键的时刻,自己又需要抽身去找暑期实习,总之过得很快.值得欣慰的是幸运的拿到了阿里和腾讯的暑期实习offer,也算是对三四月份的忙碌一些回报吧.阿里的 ...

  4. ERP项目实施记录06

    自上月20以后,因厂里赶货,办公室人员有空也要去车间帮手,ERP的事就没动静了. 2014年1月10日开了个小组会议,认为第三方不是专业做本行业的,开发风险大:因此希望先开发一个报价软件试试. 明天第 ...

  5. 记一次 windows server 2012R2 上安装 MSSQL2005 及网站发布

    背景: 原因是因为没有购买新的数据库授权.由于之前服务器是windows 2003 由于后绪网站的版本可能会升到.net4.5 据说 2003上安装不起 所有由另一同事到客户安装一个window se ...

  6. 一块移动硬盘怎样兼容Mac和Windows系统,并且可以在time machine上使用

    Mac的内存通常不是很大,加上使用Mac的time machine备份的话,是需要外置U盘或硬盘的.U盘存储空间较小,大家也不会去分区,直接拿来用在Mac上或者Windows上就可以了.所以这里只说硬 ...

  7. F#周报2019年第1期

    新闻 介绍versionsof.net InfoQ正在寻找F#社区的声音 使用F#开发端对端的实际应用 UnoPlatform上的F# Elmish 视频及幻灯片 事件溯源DIY02--事件,事件存储 ...

  8. .NET Core开发日志——Global Tools

    .NET Core 2.1引入了一个新的功能,Global Tools,其本质是包含控制台应用程序的nuget包,目前而言,还没有特别有用的工具,不过相信随着时间的推移,各种有创意或者实用性强的Glo ...

  9. [development][C] linux 设置线程名称

    两个API, 都是linux的. 不是POSIX, 是GNU?  傻傻搞不清楚. 1. pthread_setname_np / pthread_setname_np 2. ptctl 带 PR_GE ...

  10. ms sql server,oracle数据库实现拼接一列的多行内容

    项目中要将查询出的一列的多行内容拼接成一行,如下图:ypmc列. ms sql server: 网上查到相关资料如下:http://blog.csdn.net/rolamao/article/deta ...