gpt4 book ai didi

javascript - Array.prototype.concat() 底层

转载 作者:行者123 更新时间:2023-11-30 17:14:54 26 4
gpt4 key购买 nike

如何查看函数 concat 中的代码?它是如何做的?有没有人有代码的副本或在浏览器控制台中查看它的方法?

console.dir 不给我访问权限

console.dir(Array.prototype.concat);
function concat() { [native code] }
arguments: null
caller: null
length: 1
name: "concat"
__proto__: function Empty() {}
<function scope>

我不能或不知道如何检查它,但必须有一种方法来深入研究 javascript 函数

最佳答案

Array 是 JavaScript 自带的,所以它取决于你的 JavaScript 引擎如何实现它。一个 JS 引擎可以自由地以任何方式实现它。很可能它不使用 JavaScript,因为这可能太慢或可能无法实现,因为您需要一个具有您要实现的功能的 JavaScript 引擎来实现它 (see bootstrapping)。

在大多数浏览器中,许多 JavaScript 函数都是用 C/C++ 实现的。这是来自 Chrome/Chromium 系列浏览器源代码的示例:https://cs.chromium.org/chromium/src/v8/src/builtins/builtins-array.cc?q=Array.prototype.concat&sq=package:chromium&dr=C&l=635

ArrayConcatJS 在 Chrome 的 InstallFunctions 调用中变为 Array.prototype.concat bootstrapper .荣誉转至 apsillers .

Array.concat Rhino engine可以在这里找到:https://github.com/mozilla/rhino/blob/master/src/org/mozilla/javascript/NativeArray.java在方法 js_concat() 中(如 1322)。

关于javascript - Array.prototype.concat() 底层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26299771/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com