这个问题是参考这个旧问题的,在哪里可以找到javascript-native-functions-source-code
该页面上的答案说,源代码在其中c,c++但我很好奇为什么源(定义)是这些语言的?我的意思是它们是JS函数的定义,例如toString()方法。这是一个JavaScript函数,因此必须使用Javascript语法编写其定义。
toString;在chrome控制台输出中function toString() { [native code] }。
如果它是用户定义的函数,那么您可以看到定义,但看不到它,toString()或者就此而言,其他内置函数毕竟只是函数/方法,必须用JavaScript语法定义,以便引擎正确解释它们。
希望您能理解我要提出的观点。
正如评论中指出的那样,您对JavaScript的工作原理有基本的误解。
从最纯粹的意义上讲,JavaScript是一种脚本语言,即,它旨在编写宿主环境脚本。它打算嵌入到更大的系统(在这种情况下,是用C / C ++编写的Web浏览器)中,从而以有限的方式操纵该系统。
其他一些示例包括bash作为unix的脚本语言,python作为崇高的文本编辑器的脚本语言,elisp作为emacs的脚本语言,lua作为《魔兽世界》的脚本语言等。
当我们说一个函数是“内置的”时,是指它实际上是托管环境(例如,Web浏览器)的函数,而不是脚本语言(JavaScript)的函数。
尽管JavaScript标准强制要求某些内置函数,但这意味着符合标准的宿主环境需要公开该功能,而不管底层实现所使用的语言是什么。