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