在控制台中它是本机函数,但我想知道它们是如何构造的。例如,按下空格栏滚动页面时执行的代码是什么。该信息会教我很多,我可以使我的功能更有效
- 选择浏览器
- 确保它是开源
- 浏览其源代码
一些存储库包括:
- Firefox
- webkit
- 铬
请注意,JavaScript本机函数通常不是用JavaScript编写的(大多数时候期望C或C )。他们只是通过API暴露于JS。
还请注意,按下空格键时滚动页面的代码甚至都不是暴露于JS的函数。
虽然这不会显示您的实际源代码,但如果您对实现了多少本机 javascript 函数感兴趣,则可以在他们是基于的:
标准ECMA-262
什么是v8?
- V8是Google的开源JavaScript引擎。
- v8实现ECMA-262中指定的Ecmascript。
- V8用C 编写,并在Google Chrome中使用,Google的开源浏览器。
- V8可以独立运行,也可以嵌入到任何C 应用程序中。
- V8项目页面:https://github.com/v8/v8/wiki
- V8源代码:https://github.com/v8/v8
在 ecmascript规范中概述了JavaScript内置方式的准确合同(请参阅Array.every()
的示例)。
有许多不同的JavaScript引擎,每个引擎都有自己的特定实现。最常见的JavaScript引擎是(链接指向Array.every()
的代码):
- V8 (Chrome,Node,Edge,Android,Opera,其他基于铬的浏览器)
- spidermonkey (firefox)
- JavascriptCore (Safari)