javascript是一门单线程语言,js任务是一个一个顺序执行,分为同步任务和异步任务,同步任务会进入主线程,异步任务会进入Event Table(事件表),当时间表中的异步任务完成后就会在Event Queue(事件队列)中注册回调函数,主线程任务全部完成后,才会执行Event Queue中的回调,js解析器会不断重复检查主线程执行栈是否为空,然后重复第3步,这就是Event Loop(事件循环)

阅读全文

IndexedDB简单理解就是前端数据库,提供了一种在用户浏览器中持久存储数据的方法,但是和前端关系型数据不同的是,IndexedDB采用的key-value键值对存储,这种存储形式的数据库查询更简单快速,IndexedDB分别为同步和异步访问提供了单独的API,但是同步API仅提供在web worker内部使用,因此绝大多数情况,我们使用的都是异步API,同时IndexedDB也无法突破同源策略的限制,只能访问在同域下的数据。

阅读全文