全局对象在spidermonkey中的含义是什么?JS_class和JS_NewGlobalObject的作用是什么?

时间:2013-12-01 21:12:45

标签: javascript c++ spidermonkey jsapi

我正在阅读SpiderMonkey教程,了解如何通过JSAPI spidermoneky在c ++程序中嵌入和执行javascript代码。 但我并不完全了解全局对象的作用以及JS_class和JS_NewGlobal的作用是什么? 通过自定义全局对象也意味着什么?

1 个答案:

答案 0 :(得分:0)

在JavaScript中,您有一个顶级命名空间,它实际上具有与普通javascript对象类似的属性,因此它被称为“全局对象”。您通常认为像C这样的语言中的全局变量通常是全局对象的属性。顶级函数也存在于那里,这就是为什么你会看到为该文档中的全局对象创建的srandsystem等顶级事物的绑定。您可能希望将不同的功能放在不同的全局环境中。嵌入式喜欢做各种定制的事情。

JS_Class是一个SpiderMonkey概念,用于支持JS运行时中对象的本机类型。当你想创建一个新的特殊内置类型时,你可以通过定义一个JS_Class来实现,然后从类中实例化的对象可以在本机代码中测试它们的类,看它是否匹配。 HTH!