嵌入JavaScript引擎梗概教程

嵌入JavaScript引擎

梗概教程

作者:Brendan Eich

2000年2月21日

翻译:ShiningRay @ NirvanaStudio

如何启动VM并执行一个脚本

如果不使用任何错误检查这样:

JS_起头的返回指针的函数会返回空(null)

JS_起头的返回布尔值的函数会返回假(false)
(错误照例会被保存在一个JSBool变量ok中)。

如何从JavaScript中调用C函数

假设有个C函数叫diot,他在被调用时需要至少两个实参(如果调用者少提供了几个,JS引擎需要保证undefined值传给了那些缺少的参数):

然后把它和JS连接起来,你要写:

或者,如果你有一堆的本地函数要调用,你可以把它们放在一个表格中:

(最后,全为0的函数表示表格结束)并且用:

ok = JS_DefineFunctions(cx, global, my_functions);

如何从C中调用JavaScript函数(像“onClick”)

假设点击事件是发生在最顶层或者是有焦点的UI元素,位置为(x,y):

再次声明,我省略了错误检查(例如在调用之后检查!ok),同时我伪造了一些C的事件管理程序来模拟DOM的协议——如果他的处理程序返回假就取消这个事件。


原文地址:http://www.mozilla.org/js/spidermonkey/tutorial.html