[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);
}
}
异步的执行顺序
代码从上到下执行,
遇到异步代码, 放到异步队列
会先执行同步代码
当同步代码执行完毕, 然后安装时间顺序,将异步代码排序,依次执行


[js]javascript中4种异步的更多相关文章
- JavaScript中两种类型的全局对象/函数【转】
Snandy Stop, thinking is the essence of progress. JavaScript中两种类型的全局对象/函数 这里所说的JavaScript指浏览器环境中的包括宿 ...
- javascript中几种this指向问题
javascript中几种this指向问题 首先必须要说的是,this 永远指向函数运行时所在的对象,而不是函数被创建时所在的对象. (1).作为函数名调用 函数作为全局对象调用,this指向 ...
- JavaScript中四种不同的属性检测方式比较
JavaScript中四种不同的属性检测方式比较 1. 用in方法 var o = {x:1}; "x" in o; //true "y" in o; //fa ...
- JavaScript 中 4 种常见的内存泄露陷阱
了解 JavaScript 的内存泄露和解决方式! 在这篇文章中我们将要探索客户端 JavaScript 代码中常见的一些内存泄漏的情况,并且学习如何使用 Chrome 的开发工具来发现他们.读一读吧 ...
- 更优雅的方式: JavaScript 中顺序执行异步函数
火于异步 1995年,当时最流行的浏览器--网景中开始运行 JavaScript (最初称为 LiveScript). 1996年,微软发布了 JScript 兼容 JavaScript.随着网景.微 ...
- JavaScript中七种数据类型·中·一
Standing on Shoulders of Giants; 说到JavaScript里的类型很容易就让人想起 42和"42",分别是string型和number型,但是他们可 ...
- javascript中五种基本数据类型
前言: JavaScript中有五种基本数据类型(也叫做简单数据类型)分别为:undefined.null.bolean.number.string:另外还含有一种复杂的数据类型:object. 深入 ...
- 在JavaScript中同步与异步
在JavaScript中,一个线程执行的时候不依靠其他线程处理完毕我们称为异步,相反一个线程必须等待直到另一个线程处理完毕我们则称为同步.打个比方: (1)同步就是你在煮方便面的时候必须等水开了,你才 ...
- javascript中6种基本数据类型详解
javascript中有5中数据类型(也称为基本数据类型):Undefined.Null.Boolean.Number和String,还有一种复杂数据类型——object,object本质是由一组键值 ...
随机推荐
- Dom捕捉事件和冒泡事件-原理与demo测试
先参考一下百度百科对冒泡事件流的解释: ----------不喜欢读文字的同学,可以直接看下面demo,传递顺序简单明了! http://baike.baidu.com/link?url=kaeJHT ...
- linux 常用 掌握要点 详细终结
linux 命令大全 每个开发者应该了解的 10 个 Linux 命令 1.查看正在执行的进程(Process) ps命令 Process Status 进程状态 语法: ps [option] ...
- easyui---表单验证
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- 省一行是一行:在if语句中使用C# 7.0的模式匹配
C# 7.0的模式匹配(Pattern Mathing)不仅可以节省代码,而且可以让代码更流畅(Fluent),今天又在实际开发中体会了一下. 不用模式匹配的代码,需要先获取返回值,然后用if进行判断 ...
- opencv中 int main(int argc,char* argv[])详解
opencv中 int main(int argc,char* argv[])详解 argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数 ...
- 在Ubuntu环境下安装eclipse
Eclipse运行需要Java环境,java环境的安装见https://www.cnblogs.com/Sabre/p/10349320.html,本文不再赘述. 1.下载eclipse eclips ...
- [No0000169]Potplayer倍速播放快捷键修改速率步长
右键-播放-播放设置-速度调整单位改成0.5,即可一次加速到1.5
- [No0000133]c# ERROR:“.”(十六进制值 0x00)是无效的字符
December 24, 2013 c# exception “.”(十六进制值 0x00)是无效的字符. 解决方法:常见于socket方式连接(包括HTTP方式)等.报文交互时候,对方会在字符串后面 ...
- React中ref的使用方法
React中ref的使用方法 在react典型的数据流中,props传递是父子组件交互的唯一方式:通过传递一个新的props值来使子组件重新re-render,从而达到父子组件通信.当然,就像reac ...
- SQL之分组排序取top n
转自:http://blog.csdn.net/wguangliang/article/details/50167283 要求:按照课程分组,查找每个课程最高的两个成绩. 数据文件如下: 第一列no为 ...