【问题标题】:Source code of implementation JavaScript internal methods实现 JavaScript 内部方法的源代码
【发布时间】:2016-08-08 02:32:23
【问题描述】:

有没有办法查看 JavaScript 方法背后的代码?不是网站的 .html 或 .js 文件中的 javascript 方法,而是 JavaScript 的内部方法。

例如:

  • 如何查看 JavaScript 如何计算元素的offsetTop

【问题讨论】:

标签: javascript language-implementation


【解决方案1】:

JavaScript 是由浏览器实现的,所以取决于浏览器

Google 的浏览器 Chromeclosed-source not open-source。这意味着您无法查看他们的源代码,包括他们的 JavaScript 实现。 但是,Chrome的源代码是基于Chromium的源代码,是开源的。您可以在其git repository here 中查看其所有源代码。在我的答案底部查看有关这种 Chrome-Chromium 关系的更多信息。

Mozilla 的浏览器 Firefox 与他们的所有项目一样是开源的。您可以查看 Mozilla 项目 here 的所有源代码。您将在 Firefox right here 中找到实现 JavaScript 的代码。

对于 JavaScript 的闭源实现,例如 Chrome 的实现,您永远无法确定每种方法的确切工作原理。通过阅读可用的文档(见下文),您将能够获得关于如何实现方法的最佳可用想法。

注意,仅仅因为 Chrome 的源代码基于开源项目 Chromium,这并不意味着源代码是相同。 Chrome 可以对 JavaScript 方法进行调整,我们不知道。不过我认为这不太可能,Chrome 和 Chromium 之间的所有差异很可能都在on this wikipedia page 中列出,here on AskUbuntu 上有一篇不错的帖子

您可以了解更多有关 Chromium 源代码 here 的信息。

Chrome JS documentation


【讨论】:

  • 非常感谢:):) 另一个问题:javascript方法背后的代码与普通的javascript代码相同还是有不同的实现?
  • @Fistright 记得给对你有帮助的答案投票,如果你认为它回答了你的问题,请将答案标记为the answer
  • @Fisright 我不确定我是否理解您在评论中的要求。你能改写一下这个问题吗?
  • 如果我看到scrollTop()方法后面的代码是普通的javascript吗?有人可以用普通的 javascript 重现它吗?
  • @MatthewCliatt:您的回答具有误导性。 Chrome 是经过稍微调整的 Chromium,即 entirely open source
猜你喜欢
  • 2019-03-28
  • 2014-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多