如何获取原生javascript函数源代码?

IT技术 javascript
2021-02-24 07:26:39

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

3个回答
  1. 选择浏览器
  2. 确保它是一个开源的
  3. 挖掘它的源代码

一些存储库包括:

请注意,JavaScript 本机函数通常不是用 JavaScript 编写的(大多数情况下使用 C 或 C++)。它们只是通过 API 暴露给 JS。

另请注意,按下空格键时滚动页面的代码甚至不是暴露给 JS 的函数。

所以当我登录时toString,输出的原因ƒ toString() { [native code] },因为那些主要用 C++ 或 Torque(一些在 v8 中)编写的本机函数,它编译为机器代码,所以不是显示该机器代码,输出是[native code]?
2021-04-21 07:26:39

虽然这不会向您展示实际的源代码,但如果您对实现了多少原生JavaScript函数感兴趣,您可以仔细阅读它们所基于的规范:

标准 ECMA-262

这个规格看起来很有趣
2021-05-08 07:26:39

V8是什么?

  • V8 是 Google 的开源 JavaScript 引擎。
  • V8 实现了 ECMA-262 中指定的 ECMAScript。
  • V8 是用 C++ 编写的,用于谷歌的开源浏览器 Google Chrome。
  • V8 可以独立运行,也可以嵌入到任何 C++ 应用程序中。
  • V8 项目页面:https : //github.com/v8/v8/wiki
  • V8 源代码:https : //github.com/v8/v8