如何获得本机JavaScript函数源代码



在控制台中它是本机函数,但我想知道它们是如何构造的。例如,按下空格栏滚动页面时执行的代码是什么。该信息会教我很多,我可以使我的功能更有效

  1. 选择浏览器
  2. 确保它是开源
  3. 浏览其源代码

一些存储库包括:

  • 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)

最新更新