JavaScript 底层是怎么实现的,有相关书籍推荐吗?

2020-11-13 19:51:02 +08:00
 shanex
经常看到类似的面试题:给你一段代码让你给出执行结果。最烂大街的就是事件循环,Promise,微任务宏任务这类。不同时间看到过很多版本的题解。都持怀疑态度。因为很多给的结论都仅仅是结论,几个案例,几张图,几段代码,几段阐述,甚至贴几个链接。它说是这样,我就觉得是这样罗!有的时候真的在怀疑真的是这样么?其中参考过 JavaScript 的 W3C 语言规范,是真的看不懂!你说让我去看 js 引擎吧? V8 是 c++实现的,网上去搜了下,评价是很难!!!况且我一个前端,没必要,,,。所以久而久之就开始陷入这样的困局了!
2634 次点击
所在节点    JavaScript
13 条回复
AndyAO
2020-11-13 19:55:17 +08:00
没看懂你说的意思
cmdOptionKana
2020-11-13 20:00:36 +08:00
建议找一个具体的问题,然后列出你所说的很多版本的题解(其中两三个),指出它们的不同点,然后提出你的具体疑问。

不然你这样纯吐槽式说一通,是说不明白的。
Rheinmetal
2020-11-13 20:09:23 +08:00
看 nodejs api 文档吧 做题不一定需要了解实现细节
SingeeKing
2020-11-13 20:09:47 +08:00
你说的这个问题可以看 https://zh.javascript.info/event-loop
ochatokori
2020-11-13 20:13:16 +08:00
别人整理好结论你说怀疑正确性,让你看源码又说很难,这
dustinth
2020-11-14 01:27:29 +08:00
现代软件工程的目标就是分层模块化; 平时就是搬个砖, 去学材料学真没必要.
musi
2020-11-14 09:53:17 +08:00
这些问题去找一些权威的文档,比如 ECMA262,如果看不懂就去 MDN 看看有没有,这两个都是比较权威的
ZDavy
2020-11-14 10:18:06 +08:00
要不要试试《 Webkit 技术内幕》这本书👀
jones2000
2020-11-14 10:28:23 +08:00
都是开源的, 直接看源码不就可以了. 有什么难的, 又不让你写, 别人都写好了. 1 个月看不懂, 就用 1 年, 1 年不行 就用 2 年 ......
faceRollingKB
2020-11-14 16:54:18 +08:00
faceRollingKB
2020-11-14 17:00:50 +08:00
第 2 版还没完成,先看第一版: https://github.com/getify/You-Dont-Know-JS/tree/1st-ed
janus77
2020-11-14 17:13:14 +08:00
没看懂你的意思+1……
答案要自己亲身验证。如果文档说了一个定义,有个结论是根据这个定义得出来的,如果你自己写的代码能正确复现这个结论,不就可以反推出这个定义是对的么?什么叫“他说是这样就是这样”。明明是“你代码写出来就是这样”
okcdz
2020-11-15 00:01:20 +08:00
书籍可能没有,你想要验证的一些东西其实可以从表象来验证。比如微任务宏任务,可以通过编写测试代码来验证,不用去看底层。

如果真的对底层又兴趣的话,其实也不一定就看 v8,js 的引擎除了 v8 还有些简单的,比如 QuickJS,不过只是一个执行引擎,没有事件循环这些。实在看 v8 可以看早期版本。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/724997

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX