2015-09-18 59 views

回答

14

由执行环境(如StringArray类,或setTimeout,或者浏览器的DOM)中提供的本机函数中C.被频繁写入(或搭载写入其他功能)

+0

有什么令我困惑的是,有一段直接在'内置函数'的函数下面,它说“内置函数的例子包括parseInt和Math.exp。一个实现可以提供本规范中没有描述的依赖于实现的内置函数。“这看起来与前面的“功能”部分截然不同。 –

+0

@juwiley:大多数主机提供了ECMAScript规范未涉及的其他功能(例如,DOM或“控制台”)。 – SLaks

+0

下面是一些阅读材料,对那些对如何以及如何自己编写这些类型的函数感兴趣的人(对于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

9

在什么情况下函数的代码不会写在ECMA脚本中?

JavaScript引擎提供的核心功能。例如。 Array.prototype.find

> Array.prototype.find 
find() { [native code] } 

例如V8,Chrome的JavaScript引擎,被实现C++,使得方法用C++实现。

+0

我认为有许多在V8实现中写入(特权)javascript的函数仍然被字符串化为'[native code]' – Bergi