問題タブ [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.
firefox - ビルド中にFirefoxSpiderMonkeyでデフォルトのjsエンジンを設定するにはどうすればよいですか?
FirefoxにはいくつかのJSengine(SpiderMonkey、traceMonkey、jaegerMonkeyなど)があることは誰もが知っているので、FF11.0または12.0のビルド中にデフォルトのJSengine SpiderMonkey(usrインタープリターモードのみ)を設定できるかどうか疑問に思っています。ソースから?
たとえば、それを実現するために設定できるオプションはありますか?その場合、どのオプションで実行できますか?または、他の方法をご存知の場合は、教えてください、ありがとう
javascript - ブロックによる定数宣言
最近、私は Firefox Add-on Builder SDK のソースを調べていて、そのような定数宣言に出くわしました:
CommonJS Modulesに関する情報を見つけることができましたが、この割り当ての左側の部分は、言語固有でなければならず、それについて何もググることができなかったため、少し混乱しました。
ここで何が起こっているのかを説明する仕様/草案を教えてもらえますか?
javascript - 埋め込まれたSpiderMonkeyプログラムのコンパイル中にエラーが発生しました
了解しました。コマンドを使用してSpiderMonkeyのソースコードをダウンロードしてwget http://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz
抽出しました。次に、次のコマンドを実行して、インクルードファイルと静的ライブラリを正常にビルドしました。
autoconf2.13
./configure --prefix=~/js --disable-shared-js
make
make install
ここで、コマンドを使用して次のコードをコンパイルしてみましたg++ -I/home/aaditmshah/js/include/js -L/home/aaditmshah/js/lib -lmozjs185-1.0 -ldl -lm -ldl helloworld.cpp -o helloworld
。
include
myとlinker
optionsが正しいディレクトリを指していることを知っています。インクルードファイルはに/home/aaditmshah/js/include/js
あり、という名前の静的ライブラリlibmozjs185-1.0
はにあり/home/aaditmshah/js/lib
ます。ただし、それでも次のエラーが発生します。
どのファイルが欠落しているのだろうか。SpiderMonkeyを再構築してインストールする必要があり/usr/local
ますか?どんな助けでも大歓迎です。
問題は、静的ライブラリを使用していることではないと確信しています。SpiderMonkeyを共有オブジェクトライブラリとして再構築しましたが、それでも同じエラーが発生しました。
javascript - 内部では、Javascript オブジェクトはテーブルをハッシュしていますか?
オブジェクトが Javascript エンジン (V8、Spidermonkey など) の内部でどのように実装されているのか疑問に思っていました。それらは本当に単なるハッシュテーブルですか? もしそうなら、彼らはどのように衝突を処理しますか?
javascript - エンジンに依存しないReflect.parseはありますか?
Mozillaは、Javascriptモジュールを解析して抽象構文ツリーを生成するためのAPIを提供しています。彼らはそれをReflect.parseと呼んでいます。
Javascriptでスタンドアロンモジュールとして記述されたReflect.parseまたは同様のものはありますか?構文ツリーを生成するためにES5エンジンで実行できるものはありますか?それが失敗すると、C ++にこれを行うスタンドアロンツールがありますか?またはサービス?
私はdoctorjs.orgを試してみましたが、非常に単純な自己評価無名関数でしたが、窒息しました。私はそれを間違っていますか?
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 の機能ですか?
また、これに関するドキュメントはありますか?
javascript - IDでプロパティ名を取得
このコードを使用して、ネイティブ関数に渡されたプロパティを反復処理しています。
これはプロパティの値を取得するのにうまく機能しますが、そのプロパティの名前も必要です。
...ById()
プロパティ名を与えるさまざまなプロパティ関連の関数が見つかりませんでした。
javascript - Spidermonkey Javascript エンジンでのガベージ コレクションの防止
Spidermonkeyのユーザーガイドによると
https://developer.mozilla.org/En/SpiderMonkey/JSAPI_User_Guide
... jsval 自体は、ガベージ コレクタから参照先を保護しません...
このステートメントについての私の理解では、たとえば JS_NewStringCopyZ() によって JSString を作成すると、返される値はいつでも gc できるということです。例えば
では、上記のstrが gc されないようにするにはどうすればよいでしょうか? JSNative 関数の開始時に呼び出せる JS_EnterLocalRootScope () 関数があることに気付きました。残念ながら、現在は廃止されています。それでは、gcを防ぐ適切な方法は何ですか?
firefox - Firefoxソースコードのアフィリエイトjsファイルを使用してFirefoxでjsengineをテストする方法は?
ソースからスパイダーモンキーを正常に構築しました。混乱しているのは、パフォーマンスをテストする方法だけです。幸い、FFsourceコードの/ js / src / testsフォルダーに多くのテストjsファイルが表示されるので、これらのテストファイル?そしてどうやって ?
javascript - SpiderMonkey の PyCapsule と同等/類似するものはありますか?
Python を埋め込む場合PyCapsule
、Python コードから変更できない C ポインターを含むオブジェクトを作成する型があります。つまり、C コードでのみ使用されるものを渡すのに最適です。
私のアプリケーションは SpiderMonkey エンジンを介して JavaScript もサポートしているため、SpiderMonkey で同様のものを探しています。JSClass
フラグを使用してカスタムを作成できることは知っていますが、JSCLASS_HAS_PRIVATE
別のよりシンプルで軽量なアプローチがあるのではないかと思います。