gpt4 book ai didi

javascript - 全局对象在 Spidermonkey 中意味着什么? JS_class 和 JS_NewGlobalObject 的作用是什么?

转载 作者:行者123 更新时间:2023-11-28 08:42:37 24 4
gpt4 key购买 nike

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

最佳答案

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

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

关于javascript - 全局对象在 Spidermonkey 中意味着什么? JS_class 和 JS_NewGlobalObject 的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20317329/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com