我正在通过ECMA Script 2015 specification进行阅读。功能的非ECMAscript代码
在functions
我看到:
除了其性能,功能包含可执行代码和状态决定调用时的行为方式。 函数的代码可能写入或不写入ECMAScript(强调增加)。
在什么情况下函数的代码不会写入ECMA脚本中?
我正在通过ECMA Script 2015 specification进行阅读。功能的非ECMAscript代码
在functions
我看到:
除了其性能,功能包含可执行代码和状态决定调用时的行为方式。 函数的代码可能写入或不写入ECMAScript(强调增加)。
在什么情况下函数的代码不会写入ECMA脚本中?
由执行环境(如String
和Array
类,或setTimeout
,或者浏览器的DOM)中提供的本机函数中C.被频繁写入(或搭载写入其他功能)
在什么情况下函数的代码不会写在ECMA脚本中?
JavaScript引擎提供的核心功能。例如。 Array.prototype.find
:
> Array.prototype.find
find() { [native code] }
例如V8,Chrome的JavaScript引擎,被实现C++,使得方法用C++实现。
我认为有许多在V8实现中写入(特权)javascript的函数仍然被字符串化为'[native code]' – Bergi
有什么令我困惑的是,有一段直接在'内置函数'的函数下面,它说“内置函数的例子包括parseInt和Math.exp。一个实现可以提供本规范中没有描述的依赖于实现的内置函数。“这看起来与前面的“功能”部分截然不同。 –
@juwiley:大多数主机提供了ECMAScript规范未涉及的其他功能(例如,DOM或“控制台”)。 – SLaks
下面是一些阅读材料,对那些对如何以及如何自己编写这些类型的函数感兴趣的人(对于Node):[1](https://github.com/kkaefer/node-cpp-modules),[2] (http://syskall.com/how-to-write-your-own-native-nodejs-extension/),[3](http://joseoncode.com/2012/04/10/writing-your-first -native-module-for-node-dot-js-on-windows /),[4](http://kkaefer.github.com/node-cpp-modules/),[5](http:// nkzawa .tumblr.com /后/ 46089897239 /如何到写本机节点的插件)。 – sdgluck