js的异步的问题的再次理解
2016-03-18 10:26
477 查看
*js是实实在在的单线程语言,在一小个时刻,在(js的执行对列)只有一个执行,一个没有完,另一个必须等待,什么都不做,只有抖着腿的等;
*本来语言本身是同步的,之所以是异步执行,是因为在浏览器环境中,调用了浏览器的api,
一,httpajax,是单线程调用了浏览器的进程,由它来发http请求,之后得到了返回值,就插入了一个队列(异步队列),
当js的执行对列为空(没有执行函数)的时候,在按照异步队列的顺序,将返回值插入执行对列,然后在执行
二,setTimeout, 和 eventListener之类的事件监听语句,当被触发的时候啊,被在浏览器的事件处理队列中执行,然后有了返回值之后,
将返回值插入异步队列,然后啊,当执行对列为空的时候再一一插入
三,回调函数,这个我感觉就是改变了函数的执行顺序哟!
*本来语言本身是同步的,之所以是异步执行,是因为在浏览器环境中,调用了浏览器的api,
一,httpajax,是单线程调用了浏览器的进程,由它来发http请求,之后得到了返回值,就插入了一个队列(异步队列),
当js的执行对列为空(没有执行函数)的时候,在按照异步队列的顺序,将返回值插入执行对列,然后在执行
二,setTimeout, 和 eventListener之类的事件监听语句,当被触发的时候啊,被在浏览器的事件处理队列中执行,然后有了返回值之后,
将返回值插入异步队列,然后啊,当执行对列为空的时候再一一插入
三,回调函数,这个我感觉就是改变了函数的执行顺序哟!
相关文章推荐
- 获取结果集 json拼接
- JS window对象的top、parent、opener含义介绍
- javascript递归调用,产生堆栈溢出原因
- javascript 执行环境 变量对象
- 7、JavaScript 知识总结
- js获取url传递参数,js获取url?号后面的参数
- Gson解析复杂的json数据
- @JsonView 简单介绍
- js中opener与parent的区别详细解析
- 身份证简单校验js正则表达式
- js正则表达式用法实例:验证邮箱格式、密码复杂度、手机号码、QQ号码
- 什么是JavaScript?
- Js中的window.parent ,window.top,window.self 详解
- [Sencha ExtJS & Touch] 什么是 callParent 和 callSuper ?
- 运算符优先级 (JavaScript)
- 详解Obejective-C中将JSON数据转为模型的方法
- JSON数据的解析
- json 字符串 对象 互转
- JavaScript包管理器综述
- Js与Jq获取浏览器和对象值的方法