这个问题是参考这个老问题Where-can-i-find-javascript-native-functions-source-code
该页面上的答案说,源代码位于c
或c++
,但我很好奇为什么源(定义)在这些语言中?我的意思是它们是例如toString()
方法的JS函数定义。它是一个JavaScript函数,因此它的定义必须使用Javascript语法编写。
toString;
中的 function toString() { [native code] }
。
如果它是用户定义的函数,那么你可以看到定义而不是toString()
或其他内置函数
毕竟它们只是必须在JavaScript语法中定义的函数/方法,以便引擎正确解释它们。
我希望你能理解我想要做的是什么。
答案 0 :(得分:5)
正如评论中指出的那样,您对JavaScript的工作方式存在根本性的误解。
JavaScript是一种脚本语言,在该术语的最纯粹意义上,即它用于编写主机环境的脚本。它意味着嵌入在一个更大的系统中(在这种情况下,用C / C ++编写的Web浏览器)以有限的方式操作该系统。
其他一些例子是bash作为unix的脚本语言,python作为sublime文本编辑器的脚本语言,elisp作为emacs的脚本语言,lua作为魔兽世界的脚本语言等。
当我们说某个功能是“内置”时,我们的意思是它实际上是托管环境(例如网络浏览器)的功能,而不是脚本语言(JavaScript)的功能。
虽然JavaScript标准要求某些内置函数,但这意味着符合标准的主机环境需要公开该功能,而不管底层实现的语言是什么。