更多文章 同步、异步 JS是单线程的,每次只能做一件事情。像以下这种情况,代码会按顺序执行,这个就叫同步。 以下代码会输出2、3、1,像这种不按顺序执行的,或者说代码执行中间有时间间隙的,叫异步。 事件循环 一个浏览器通常有以下几个常驻的线程: 渲染引擎线程:该线程负责页面的渲染 JS引擎线程:负责 ...
分类:
编程语言 时间:
2019-01-10 10:52:30
阅读次数:
192
这种实现方式是利用一个伪死循环阻塞主线程。因为JS是单线程的。所以通过这种方式可以实现真正意义上的sleep()。 Js阻塞机制,跟Js引擎的单线程处理方式有关,每个window一个JS线程。所谓单线程,在某个特定的时刻只有特定的代码能够被执行,并阻塞其它的代码。 由于浏览器是事件驱动的(Event ...
分类:
Web程序 时间:
2019-01-06 14:23:37
阅读次数:
530
JavaScript运行三部曲 脚本执行js引擎都做了什么呢? 语法分析 预编译 解释执行 在执行代码前,还有两个步骤 语法分析很简单,就是引擎检查你的代码有没有什么低级的语法错误 解释执行顾名思义便是执行代码了 预编译简单理解就是在内存中开辟一些空间,存放一些变量与函数 理解了预编译对大家理解作用... ...
分类:
Web程序 时间:
2018-12-28 17:50:52
阅读次数:
213
内核 首先得搞懂浏览器内核究竟指的是什么。 浏览器内核又可以分成两部分:渲染引擎(layout engineer 或者 Rendering Engine)和 JS 引擎。它负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入 CSS 等),以及计算网页的显示方式,然后会输出至显示器或 ...
分类:
其他好文 时间:
2018-12-25 10:14:29
阅读次数:
172
静态资源: 都写死了的资源,如 css,html 解析规则: 所有路由和中间件都在一个数组中,js 引擎会按照代码先后顺序添加路由和中间件 当请求发送到服务器时,服务器获取当前的请求信息(请求方式、请求路由路径) 遍历数组,找到第一个匹配(请求路由路径和请求方式必须完全一致)到的路由或者中间件,执行 ...
分类:
Web程序 时间:
2018-12-21 18:06:47
阅读次数:
388
JavaScript运行三部曲脚本执行js引擎都做了什么呢? 语法分析预编译解释执行在执行代码前,还有两个步骤 语法分析很简单,就是引擎检查你的代码有没有什么低级的语法错误 解释执行顾名思义便是执行代码了 预编译简单理解就是在内存中开辟一些空间,存放一些变量与函数 理解了预编译对大家理解作用域同样有 ...
分类:
编程语言 时间:
2018-12-17 20:19:08
阅读次数:
227
今天来讲讲游标的操作,可以先获取一组文档,再对每一个文档进行操作。 因为mongodb底层是js引擎,所有可以像操作js一样操作mongodb,比如插入数据 游标的使用:声明游标,判断是否有下一条数据,取下一条数据 或者这样使用 又或者 跳过开始的某些行记录 跳过一些行取若干行,可用于分页查询 将游 ...
分类:
数据库 时间:
2018-12-02 10:36:25
阅读次数:
180
浏览器内核又可以分成两部分:渲染引擎(layout engine 或者 rendering engine)和JS引擎。 渲染引擎它负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会 ...
分类:
Web程序 时间:
2018-12-01 20:07:37
阅读次数:
165
变量: 用var声明变量,如果只是声明变量而不赋值,则变量的值是undefined,表示无定义 不写·var也有效,但不建议 变量声明两次无效,但第二次声明时赋值会覆盖掉前面的值 变量提升: Js引擎工作方式是先解析代码,获取所有被声明的变量,然后再运行 所以: 不会报错 标识符: 命名规则如下: ...
分类:
Web程序 时间:
2018-11-25 12:04:04
阅读次数:
176
一、重排 & 重绘 有经验的大佬对这个概念一定不会陌生,“浏览器输入URL发生了什么”。估计大家已经烂熟于心了,从计算机网络到JS引擎,一路飞奔到浏览器渲染引擎。 经验越多就能理解的越深。 感兴趣的同学可以看一下这篇文章,深度和广度俱佳: 《从输入 URL 到页面加载的过程?如何由一道题完善自己的前 ...
分类:
其他好文 时间:
2018-11-15 20:16:09
阅读次数:
129