Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 引擎盖下的Array.prototype.concat()_Javascript_Console_Prototype - Fatal编程技术网

Javascript 引擎盖下的Array.prototype.concat()

Javascript 引擎盖下的Array.prototype.concat(),javascript,console,prototype,Javascript,Console,Prototype,如何查看函数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&g

如何查看函数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>
console.dir(Array.prototype.concat);
函数concat(){[本机代码]}
参数:null
呼叫方:空
长度:1
名称:“康卡特”
__proto_;:函数Empty(){}

我不知道或者不知道如何检查这一点,但一定有办法深入了解javascript附带的javascript函数,所以这取决于javascript引擎如何实现。JS引擎可以自由地以任何方式实现它。很可能它不使用JavaScript,因为这可能太慢,或者可能不可能,因为您需要一个JavaScript引擎,该引擎具有您试图实现的功能来实现它()

在大多数浏览器中,许多JavaScript函数都是用C/C++实现的。以下是Chrome/Chrome系列浏览器的源代码示例:

ArrayConcatJS
在Chrome的
InstallFunctions
调用中变成
Array.prototype.concat
。这是我的荣幸


<>代码>数组> CONTAG/CODE >这里可以找到:在方法<代码> JSyCutAtter()/Cube >(类似1322)。确实:对于你使用的任何引擎,都浏览一下C++代码。(如果你的JS引擎没有发布它的源代码,那你就倒霉了。)的可能重复为了狭隘地尝试回答你的特定问题,下面是Chromium对
concat
的实现:(
ArrayConcatJS
变成
Array.prototype.concat
InstallFunctions
调用第1519行)