問題タブ [spidermonkey]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
58 参照

firefox - ビルド中にFirefoxSpiderMonkeyでデフォルトのjsエンジンを設定するにはどうすればよいですか?

FirefoxにはいくつかのJSengine(SpiderMonkey、traceMonkey、jaegerMonkeyなど)があることは誰もが知っているので、FF11.0または12.0のビルド中にデフォルトのJSengine SpiderMonkey(usrインタープリターモードのみ)を設定できるかどうか疑問に思っています。ソースから?

たとえば、それを実現するために設定できるオプションはありますか?その場合、どのオプションで実行できますか?または、他の方法をご存知の場合は、教えてください、ありがとう

0 投票する
1 に答える
1145 参照

javascript - ブロックによる定数宣言

最近、私は Firefox Add-on Builder SDK のソースを調べていて、そのような定数宣言に出くわしました:

CommonJS Modulesに関する情報を見つけることができましたが、この割り当ての左側の部分は、言語固有でなければならず、それについて何もググることができなかったため、少し混乱しました。

ここで何が起こっているのかを説明する仕様/草案を教えてもらえますか?

0 投票する
2 に答える
1873 参照

javascript - 埋め込まれたSpiderMonkeyプログラムのコンパイル中にエラーが発生しました

了解しました。コマンドを使用してSpiderMonkeyのソースコードをダウンロードしてwget http://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz抽出しました。次に、次のコマンドを実行して、インクルードファイルと静的ライブラリを正常にビルドしました。

  1. autoconf2.13
  2. ./configure --prefix=~/js --disable-shared-js
  3. make
  4. make install

ここで、コマンドを使用して次のコードをコンパイルしてみましたg++ -I/home/aaditmshah/js/include/js -L/home/aaditmshah/js/lib -lmozjs185-1.0 -ldl -lm -ldl helloworld.cpp -o helloworld

includemyとlinkeroptionsが正しいディレクトリを指していることを知っています。インクルードファイルはに/home/aaditmshah/js/include/jsあり、という名前の静的ライブラリlibmozjs185-1.0はにあり/home/aaditmshah/js/libます。ただし、それでも次のエラーが発生します。

どのファイルが欠落しているのだろうか。SpiderMonkeyを再構築してインストールする必要があり/usr/localますか?どんな助けでも大歓迎です。

問題は、静的ライブラリを使用していることではないと確信しています。SpiderMonkeyを共有オブジェクトライブラリとして再構築しましたが、それでも同じエラーが発生しました。

0 投票する
3 に答える
11872 参照

javascript - 内部では、Javascript オブジェクトはテーブルをハッシュしていますか?

オブジェクトが Javascript エンジン (V8、Spidermonkey など) の内部でどのように実装されているのか疑問に思っていました。それらは本当に単なるハッシュテーブルですか? もしそうなら、彼らはどのように衝突を処理しますか?

0 投票する
4 に答える
765 参照

javascript - エンジンに依存しないReflect.parseはありますか?

Mozillaは、Javascriptモジュールを解析して抽象構文ツリーを生成するためのAPIを提供しています。彼らはそれをReflect.parseと呼んでいます。

Javascriptでスタンドアロンモジュールとして記述されたReflect.parseまたは同様のものはありますか?構文ツリーを生成するためにES5エンジンで実行できるものはありますか?それが失敗すると、C ++にこれを行うスタンドアロンツールがありますか?またはサービス?


私はdoctorjs.orgを試してみましたが、非常に単純な自己評価無名関数でしたが、窒息しました。私はそれを間違っていますか?

0 投票する
1 に答える
162 参照

javascript - Javascript オブジェクト内の `get functionname() {...}` の意味

私は GNOME シェルの JavaScript インターフェイスを調べていてpopupMenu.js、クラスのプロトタイプから次のスニペット (興味のある人向け) に気付きました。

誰かが私にそのget state() { ... }意味を説明できますか? name: valueすべてがJavaScript オブジェクト内のフォームでなければならないと思いましたか? (これらのオブジェクトのいずれかを作成obj.stateすると、私が想定しているものを返すことができますthis._switch.state)。

GNOME は、Mozilla の Spidermonkey に似たフレーバーの javascript (gjs) を使用していると言っていることに注意してください。この動作は非標準の javascript の動作であり、spidermonkey/gjs の機能ですか?

また、これに関するドキュメントはありますか?

0 投票する
1 に答える
439 参照

javascript - IDでプロパティ名を取得

このコードを使用して、ネイティブ関数に渡されたプロパティを反復処理しています。

これはプロパティの値を取得するのにうまく機能しますが、そのプロパティの名前も必要です。

...ById()プロパティ名を与えるさまざまなプロパティ関連の関数が見つかりませんでした。

0 投票する
1 に答える
737 参照

javascript - Spidermonkey Javascript エンジンでのガベージ コレクションの防止

Spidermonkeyのユーザーガイドによると

https://developer.mozilla.org/En/SpiderMonkey/JSAPI_User_Guide

... jsval 自体は、ガベージ コレクタから参照先を保護しません...

このステートメントについての私の理解では、たとえば JS_NewStringCopyZ() によって JSString を作成すると、返される値はいつでも gc できるということです。例えば

では、上記のstrが gc されないようにするにはどうすればよいでしょうか? JSNative 関数の開始時に呼び出せる JS_EnterLocalRootScope () 関数があることに気付きました。残念ながら、現在は廃止されています。それでは、gcを防ぐ適切な方法は何ですか?

0 投票する
1 に答える
32 参照

firefox - Firefoxソースコードのアフィリエイトjsファイルを使用してFirefoxでjsengineをテストする方法は?

ソースからスパイダーモンキーを正常に構築しました。混乱しているのは、パフォーマンスをテストする方法だけです。幸い、FFsourceコードの/ js / src / testsフォルダーに多くのテストjsファイルが表示されるので、これらのテストファイル?そしてどうやって ?

0 投票する
1 に答える
102 参照

javascript - SpiderMonkey の PyCapsule と同等/類似するものはありますか?

Python を埋め込む場合PyCapsule、Python コードから変更できない C ポインターを含むオブジェクトを作成する型があります。つまり、C コードでのみ使用されるものを渡すのに最適です。

私のアプリケーションは SpiderMonkey エンジンを介して JavaScript もサポートしているため、SpiderMonkey で同様のものを探しています。JSClassフラグを使用してカスタムを作成できることは知っていますが、JSCLASS_HAS_PRIVATE別のよりシンプルで軽量なアプローチがあるのではないかと思います。