我正在阅读关于如何通过 JSAPI spidermoneky 在 c++ 程序中嵌入和执行 javascript 代码的 SpiderMonkey 教程。但我并不完全理解全局对象的作用以及 JS_class 和 JS_NewGlobal 的作用是什么?自定义全局对象意味着什么?
问问题
460 次
1 回答
0
在 JavaScript 中,您有一个顶级命名空间,它实际上具有类似于普通 javascript 对象的属性,因此它被称为“全局对象”。在像 C 这样的语言中,您通常认为的全局变量通常是全局对象的属性。顶级函数也存在于此,这就是为什么您会看到顶级事物的绑定,例如srand
为该system
文档中的全局对象创建的绑定。您可能希望将不同的函数放在不同的全局环境中。嵌入者喜欢做各种定制的事情。
JS_Class
是一个 SpiderMonkey 概念,用于支持 JS 运行时中的对象的本机类型。当你想创建一个新的、特殊的内置类型时,你可以通过定义一个 JS_Class 来实现,然后从该类实例化的对象可以在本机代码中测试它们的类以查看它是否匹配。!
于 2013-12-16T09:17:14.053 回答