首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
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…