从setTimeout说起这是一个JS引擎当中内置的定时器函数官方的定义如下 setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式 但是实践证明 , 即使是setTimeout(fn, 0)fn函数也不会立即被执行例如下列代码 从setTimeout说起这是一个JS引擎当中内置的定 ...
分类:
其他好文 时间:
2017-02-03 19:26:46
阅读次数:
151
webkit是以前google和safari的内核; trident是ie的内核; gecko是firefox的内核; Presto是欧鹏浏览器内核; Blink 由Google和Opera Software开发的浏览器排版引擎。至于js引擎,想必Chrome依旧使用自己的V8引擎。 在Chrome ...
分类:
其他好文 时间:
2017-01-18 14:09:09
阅读次数:
151
浏览器的内核是多线程的,它们在内核制控下相互配合以保持同步,一个浏览器至少实现三个常驻线程:JS引擎线程(用于处理JS)、GUI渲染线程(用于页面渲染)、浏览器事件触发线程(用于控制交互)。 除此之外,有一些执行完就终止的线程,如Http请求线程。 1. javascript引擎线程是基于事件驱动单 ...
分类:
编程语言 时间:
2017-01-04 18:25:01
阅读次数:
186
[1]定义 浏览器内核分成两部分渲染引擎和js引擎,由于js引擎越来越独立,内核就倾向于只指渲染引擎 渲染引擎是一种对HTML文档进行解析并将其显示在页面上的工具[2]常见引擎 渲染引擎: firefox使用gecko引擎 IE使用Trident引擎 2015年微软推出自己新的浏览器,原名叫斯巴达, ...
分类:
Web程序 时间:
2017-01-01 17:12:09
阅读次数:
181
javascript引擎单线程程序,其执行同步操作会按顺序向下执行,执行异步操作则使用事件循环模型。 js引擎线程遇到异步操作,会将异步操作交给对应的观察者, 异步操作包括: dom事件 click,mousedown等定时器 setTimeout,setIntervalIO 网络IO,文件IO,其 ...
分类:
其他好文 时间:
2016-12-27 07:44:13
阅读次数:
183
本文参考JSPatch wiki :https://github.com/bang590/JSPatch/wiki 1.概念 JSPatch是一个轻量的JS引擎,能够使用JavaScript语言来调用任何object-c接口,替换任何原生的方法。目前主要用于发步JS脚本替换原生Objective-C ...
分类:
Web程序 时间:
2016-12-23 16:26:15
阅读次数:
167
原文出处:https://segmentfault.com/a/1190000004322358 一. 单线程 我们常说“JavaScript是单线程的”。 所谓单线程,是指在JS引擎中负责解释和执行JavaScript代码的线程只有一个。不妨叫它主线程。 但是实际上还存在其他的线程。例如:处理AJ... ...
分类:
编程语言 时间:
2016-12-12 23:01:17
阅读次数:
189
这两天比较闲,写了两篇关于JS性能缺陷与解决方案的文章(《JS特性性能缺陷及JIT的解决方案》,《Javascript垃圾回收浅析》),主要描述了untyped,GC带来的问题与JIT引擎的解决方案。但相对于Js引擎的问题,我认为DOM导致的性能问题更值得关注。 一.Dom的性能瓶颈及原因 1. 为 ...
分类:
编程语言 时间:
2016-12-12 02:29:45
阅读次数:
188
作者:干掉crash链接:https://zhuanlan.zhihu.com/p/21884786来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 如果有方法不遵守语言规则呢?实际上在 JS 界,有个很常用的伎俩,就是预编译: 也就是我们写的脚本不直接拿给 JS 引擎 ...
分类:
Web程序 时间:
2016-12-06 20:44:06
阅读次数:
183
nodejs的主要特点是单线程、异步I/O、事件驱动。让我们先大概了解一下这些名词的意思。 单线程 单线程是任务按照顺序执行的,并且每次只执行一个任务,只有前面的任务执行完成以后,后面的任务才执行。在JS引擎中负责解释和执行JavaScript代码的线程只有一个,即主线程。但实际上还存在其他的线程。 ...
分类:
Web程序 时间:
2016-12-05 14:30:40
阅读次数:
304