zoukankan      html  css  js  c++  java
  • js单线程、js任务队列、异步操作

    2017.9.22【面试阶段】
    一:js由来
         JavaScript 1995年首次设计在浏览器上,领导者为了让他看起来更像java,所以起名JavaScript;
         js是兼容ECMA标准,也称为ECMAScript;js是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言;
         他的解释器称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早用在HTML上,添加动态功能
     
    二:单线程是js的一大特性
         不像其他语言如java一样多线程,不用考虑线程同步的问题;
         js是用户与浏览器进行交互、进行DOM操作的,使得它必须是单线程,(比如你去修改一个元素的DOM,同时又去删除这个元素,
         浏览器听谁的)
     
    三:js任务有两种
         同步任务:各个任务按照文档定义的顺序一一推入“执行栈”中,当前一个任务执行完毕,才会开始执行下一个任务
         异步任务:各个任务推入“任务队列”中,只要在当前的所有同步任务执行完毕,才会将队列中的任务“出队”执行
     
    四:任务队列(event loop):你可理解为用于存放事件的队列,当执行一个异步任务时,就相当于执行任务的回调函数
         
    五:异步操作
         io(ajax获取服务器数据)、用户/浏览器自执行事件(onclick、onload、onkeyup等等)以及定时器(setTimeout、setInterval)都可以算作异步操作
  • 相关阅读:
    J2EE技术(一)——JNDI
    软考注定是一次伤痛
    Ultraedit使用技巧收集
    ArcGIS Server Java 自定义Functionality(转)
    用C#动态刷新KML
    ArcGIS Server Java 自定义task
    Python动态刷新kml
    投影坐标知识小结
    tomcat配置数据源通过JNDI访问mysql数据库
    ArcGIS Server Java自定义tool
  • 原文地址:https://www.cnblogs.com/develop-/p/7577068.html
Copyright © 2011-2022 走看看