JavaScript内部方法实现源码

2023-11-26

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

例如:

  • 我怎样才能看到JavaScript如何计算offsetTop一个元素的?

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

谷歌浏览器,Chrome, is 闭源不是开源。这意味着你can't查看他们的源代码,包括 JavaScript 的实现。But,Chrome的源码是基于Chromium的源代码,其中is开源。您可以在其中查看其所有源代码git 存储库在这里。在我的答案底部查看有关 Chrome-Chromium 关系的更多信息。

Mozilla 的浏览器,Firefox,就像他们的所有项目一样都是开源的。您可以查看 Mozilla 项目的所有源代码here。您将找到在 Firefox 中实现 JavaScript 的代码就在这儿.

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

Note那只是因为Chrome的源代码基于开源项目,Chromium,这并不意味着源代码是same。 Chrome 可能会对 JavaScript 方法进行调整,但我们不知道。我认为这不太可能,Chrome 和 Chromium 之间的所有差异很可能都已列出在这个维基百科页面上,并且有一个不错的帖子可用在 AskUbuntu 上

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

Chrome JS 文档


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript内部方法实现源码 的相关文章

随机推荐

  • dotnetpublish 未发布正确的 appsettings.{env.EnvironmentName}.json

    当我在命令行中发出以下命令时 dotnet publish o output c Release The dotnetcli正确发布项目 然而 它并不复制appsettings Production json文件 仅appsettings
  • 如何直接在 Visual Studio 中构建 mex 文件?

    我有一个包含函数库的 Visual Studio 2010 解决方案 并且我希望能够使用 MATLAB 作为该库的几个可能的前端之一 因此 我希望 Visual Studio 在构建解决方案时自动生成 mex 文件 而不必将所有构建选项和路
  • 别名模板专业化

    别名模板 14 5 7 可以显式专门化 14 7 3 吗 我的标准 fu 失败了 我找不到编译器来测试 文本 当 template id 引用别名模板的专门化时 意味着yes 但这个例子似乎指的是其他东西 暗示no NB I m worki
  • 包含非自反元素的集合的比较

    在Python中 一个值x并不总是被限制为等于自身 也许最著名的例子是NaN gt gt gt x float NaN gt gt gt x x False 现在考虑仅包含一项的列表 我们可以考虑两个这样的列表equal当且仅当它们包含的物
  • 在 C# 中使用 Linq 或 lambda 从数据库表中获取 X 个随机元素

    我有一个包含 x 个用户的数据库 我想随机获取所有用户 然后在我的网站上写下 50 个用户 现在我只使用 take 50 并检索最新 50 个用户 我希望它从整个表中随机洗牌 50 个 有什么想法吗 这就是我的代码现在的样子 userLis
  • %r 是什么意思?

    是什么意思 r在下面的声明中 print r 1 我想我听说过 s d and f但从未听说过这个 背景 在Python中 有两个内置函数用于将对象转换为字符串 str vs repr str应该是一个友好的 人类可读的字符串 repr应该
  • 防止 JSPX 创建自关闭标签 (
    !=

    JSPX 有一个可爱的旋转副作用 div class magic div Into div class magic div 对于许多浏览器来说 即使它是有效的 XHTML 这也会导致布局混乱 因此 我求助于使用 groovy 脚本通过以下正
  • jQuery DataTables 渲染列数据

    我正在使用 jQuery DataTables 显示来自 JSON 编码的 PHP 响应的信息 JSON 响应包含对象 名称 姓名 包含 全名 姓氏 ID 我一直在使用columns以我想要的方式显示数据 但是我遇到了一个我无法弄清楚的问题
  • 如何使用 wallet:accounts:read 请求访问所有用户帐户?

    当我的应用程序请求时wallet accounts read permission使用 Coinbase API v2 用户会看到一个包含所有帐户的下拉列表 他只能在三个可能的钱包中选择一个 如果我的应用程序想要与所有三个钱包 例如 BTC
  • Python:为什么(“hello”是“hello”)评估为True? [复制]

    这个问题在这里已经有答案了 为什么 hello is hello 生产True在Python中 我读了以下内容here 如果两个字符串文字相等 则它们已被置于相同的位置 内存位置 字符串是一个不可变的实体 没有伤害可以 做完了 那么每个 P
  • 添加列之前如何检查列是否存在

    我有一个数据库 如果它不存在 我想向其中添加一列 如何使用 sqlite swift API 做到这一点 通常 如果要向现有表添加新列 您将需要一个迁移路径 您可以使用userVersion管理数据库架构版本的属性 if db userVe
  • 一个用于验证美国和加拿大邮政编码的正则表达式

    我正在开发一个文具程序 客户可以选择美国或加拿大地区 当他们输入地址时 必须输入邮政编码 我正在尝试验证字段 但我无法对美国或加拿大使用 reg exp 我需要一个可验证两个国家 地区邮政编码的正则表达式 不知道您使用的是什么语言 我不会使
  • 垂直对齐属性如何工作?

    我不明白什么时候vertical align会和不会工作 每次我遇到一个用例vertical align至于它是否真的有效 这似乎是一个抛硬币的问题 我知道它必须应用于内联元素 我读到我必须指定一个line height对于通常没有的元素
  • Echoprint iOS 缺少框架

    有人下载过 EchoPrint 的 iOS 演示版本吗 它是一个音频指纹开源软件 我刚刚下载了它 但它似乎缺少框架 有什么地方可以获得功能版本吗 按照步骤使其框架运行 下载最新版本boost 下载link最新 1 51 0 的 boost
  • 无法启动 GlassFish 4.0 (Windows) - 端口 1527 - 地址已在使用中

    我是 Java EE 7 的新手 我有 Netbeans 7 4 GlassFish 4 0 和 Java EE 7 在 64 位 Windows 8 1 Pro 计算机中 我想要启动 GlassFish 4 0 Server 因此单击 N
  • 如何使用 Ramda 实现使用无点递归来删除对象中的空值?

    我正在学习 pointfree 函数 并尝试以这种风格实现这个递归空值删除器 有效 但是是not无点 function removeNulls obj return R ifElse R either R is Array R is Obj
  • 如何使用mongoose在mongodb中存储图像?

    任何人都有一个使用 mongoose 和 Nodejs Express 在 mongodb 中插入图像的快速示例 我读了一些例子 但我不明白如何做到这一点 我想以表格形式上传图片 app post videos new function r
  • Emacsclient 钩子上的kill

    我试图在 Emacs 中找到一个钩子 它应该在 emacs 服务器正常关闭之前触发 我尝试使用 elisp 来执行kill emacs query functions kill emacs hook server done hook 如下所
  • 如何在打乱的连续整数数组中查找重复元素?

    我最近在某处遇到一个问题 假设您有一个包含 1001 个整数的数组 整数按随机顺序排列 但您知道每个整数都在 1 到 1000 含 之间 此外 除了一个数字出现两次之外 每个数字在数组中只出现一次 假设您只能访问数组的每个元素一次 描述一种
  • JavaScript内部方法实现源码

    有没有办法查看 JavaScript 方法背后的代码 不是网站 html 或 js 文件中的 javascript 方法 而是 JavaScript 的内部方法 例如 我怎样才能看到JavaScript如何计算offsetTop一个元素的