zoukankan      html  css  js  c++  java
  • JavaScript 是单线程执行的,ajax是异步还是同步?且看ajax的实现原理以及setTimeout(0)的使用场景

    1. JavaScript是单线程的却能让AJAX异步发送和回调请求,setTimeout(func, 0)它的用处有三个:

    • 让浏览器渲染当前的变化(很多浏览器UI render和js执行是放在一个线程中,线程阻塞会导致界面无法更新渲染)
    • 重新评估”script is running too long”警告
    • 改变执行顺序

    2. 浏览器不是单线程的.虽然JS运行在浏览器中,是单线程的,每个window一个JS线程,但浏览器不是单线程的,例如Webkit或是Gecko引擎,都可能有如下线程:

    • javascript引擎线程
    • 界面渲染线程
    • 浏览器事件触发线程
    • Http请求线程

    这两位博主的文章,有实例有分析:

    https://www.cnblogs.com/yasmi/articles/5064588.html

    https://blog.csdn.net/aitangyong/article/details/46800615

  • 相关阅读:
    DOM
    JS方法
    边界与边框,列表与方块
    for 练习
    背景与前景温习
    AD域账号验证
    邮件发送案例
    获取每个月最后一天的小技巧
    SQL 执行顺序
    常用下载地址
  • 原文地址:https://www.cnblogs.com/mobaids/p/10314288.html
Copyright © 2011-2022 走看看