1

JSAPI Spidermoneky を介して C++ プログラムに JavaScript コードを埋め込んで実行する方法の SpiderMonkey チュートリアルを読んでいました。しかし、グローバル オブジェクトが何をするのか、そして JS_class と JS_NewGlobal の両方の役割は何なのか、完全には理解できませんでした。また、グローバル オブジェクトをカスタマイズするとはどういう意味ですか?

4

1 に答える 1

0

JavaScript では、実際には通常の JavaScript オブジェクトと同様のプロパティを持つ最上位の名前空間があるため、「グローバル オブジェクト」と呼ばれます。通常、C などの言語でグローバル変数と見なされるものは、一般にグローバル オブジェクトのプロパティです。トップレベルの関数もそこに存在します。そのため、トップレベルのもののバインディングが表示srandsystemれ、そのドキュメント内のグローバル オブジェクトに対して作成されます。さまざまなグローバル環境にさまざまな機能を配置したい場合があります。埋め込み者は、あらゆる種類のカスタマイズを行うのが好きです。

JS_ClassJS ランタイムでオブジェクトをサポートするネイティブ型の SpiderMonkey の概念です。新しい特別な組み込み型を作成する場合は、JS_Class を定義して作成します。その後、クラスからインスタンス化されたオブジェクトのクラスをネイティブ コードでテストして、一致するかどうかを確認できます。チッ!

于 2013-12-16T09:17:14.053 に答える