首页
沸点
课程
APP
AI用量
作品广场
专家标注
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
js引擎
订阅
qing87
更多收藏集
微信扫码分享
微信
新浪微博
QQ
10篇文章 · 0订阅
JavaScript 语法解析、AST、V8、JIT
对于常见编译型语言(例如:Java)来说,编译步骤分为:词法分析->语法分析->语义检查->代码优化和字节码生成。 对于解释型语言(例如 JavaScript)来说,通过词法分析 -> 语法分析 -> 语法树,就可以开始解释执行了。 具体过程是这样的: 1.词法分析是将字符流…
从babel讲到AST
babel的过程:解析——转换——生成。 比如我们在读一句话的时候,我们也会做分词操作,比如:“今天天气真好”,我们会把他切割成“今天”,“天气”,“真好”。 那换成js的解析器呢,我们看一下下面一个语句console.log(1);,js会看成console,.,log,(,…
平庸前端码农之蜕变 — AST
首先,先说明下该文章是译文,原文出自《AST for JavaScript developers》。很少花时间特地翻译一篇文章,咬文嚼字是件很累的事情,实在是这篇写的太棒了,所以忍不住想和大家一起分享。 该译文出自我的博客:github.com/CodeLittlePrince…
认识 V8 引擎
JavaScript绝对是最火的编程语言之一,一直具有很大的用户群,随着在服务端的使用(NodeJs),更是爆发了极强的生命力。编程语言分为编译型语言和解释型语言两类,编译型语言在执行之前要先进行完全编译,而解释型语言一边编译一边执行,很明显解释型语言的执行速度是慢于编译型语言…
V8内存管理
举个例子,你现在买了新房,你需要装修,装修的时候会买一堆原料,装修过程中会产生很多垃圾,这些东西你肯定不能堆在家里,需要将他们运出去当丢掉。 同样类比到编程,程序运行的时候,你需要用到变量啊函数啊等等,这些好比原料,他们会占用内存空间,程序运行过程中有些变量,函数等用完了就没用…
V8 是怎么跑起来的 —— V8 中的对象表示
V8,可能是前端开发人员熟悉而又陌生的领域。 当你看到这篇文章时,它已经迭代了三版了。目的只有一个,在保证尽可能准确的前提下,用更直观的方式呈现出来,让大家更加容易接受。本文不需要太多的预备知识,只需要你对 JavaScript 对象有基本的了解。 为了让文章不那么枯燥,也为了…
从浏览器多进程到JS单线程,JS运行机制最全面的一次梳理
见解有限,如有描述不当之处,请帮忙及时指出,如有错误,会及时修正。 ----------超长文+多图预警,需要花费不少时间。---------- 如果看完本文后,还对进程线程傻傻分不清,不清楚浏览器多进程、浏览器内核多线程、JS单线程、JS运行机制的区别。那么请回复我,一定是我…
JavaScript 运行原理解析
说到JavaScript的运行原理,自然绕不开JS引擎,运行上下文,单线程,事件循环,事件驱动,回调函数等概念。本文主要参考文章[1,2]。 为了更好的理解JavaScript如何工作的,首先要理解以下几个概念。 简单来说,JS引擎主要是对JS代码进行词法、语法等分析,通过编译…
JavaScriptCore全面解析
JavaScript越来越多地出现在我们客户端开发的视野中,从ReactNative到JSpatch,JavaScript与客户端相结合的技术开始变得魅力无穷。本文主要讲解iOS中的JavaScriptCore框架,正是它为iOS提供了执行JavaScript代码的能力。未来的…
V8 是怎么跑起来的 —— V8 的 JavaScript 执行管道
“V8 是怎么跑起来的” 系列是我学习 V8 过程中的总结。从一年前正式成为前端工程师开始,我便有意识地了解和学习 V8。我也发现,在技术社区中鲜有内容新鲜的、原创度高的中文资料,于是开始将我学习过程中的总结分享出来。 由于工作繁忙,我已经半年没有更新博客。这个系列的引子是 4…