問題タブ [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.
javascript - SpidermonkeyでのJSONシリアル化
私はpython-spidermonkey
JavaScriptコードを実行するために使用しています。
(文字列だけでなく)オブジェクトをPythonに渡すために、JSON文字列を返すことを考えています。
これはよくある問題のように思われるので、スパイダーモンキーまたはに組み込まれているこのための機能があるかどうか疑問に思いますpython-spidermonkey
。(私は知ってuneval
いますが、それはJSONシリアル化に使用されることを意図していません-そしてこれを行うためにJavaScriptのブロックを挿入することは避けたいです。)
javascript - Spidermonkey のファイル I/O
のおかげでpython-spidermonkey
、Python から JavaScript コードを使用するのは非常に簡単です。
ただし、Python を使用してファイルから JS コードを読み取り、文字列を Spidermonkey に渡す代わりに、Spidermonkey 内からファイルを読み取る (または Rhino のようにファイルパスを引数として渡す) 方法はありますか?
javascript - GeditでJavaScriptを縮小する際のコマンドラインJavaScript入力引数の問題
JavaScriptファイルをGeditですぐに縮小したい。jsmin.jsスクリプトを使用して外部ツールオプションを使用して試してみました。SpiderMonkeyエンジンをインストールしています。jsmin.jsファイルを/home/mushex/use/js/jsmin.jsに保存し、同じディレクトリにjsmin-low.jsという名前の新しいjsファイルをコンテンツとともに作成しました
未定義を出力します。デバッグのために、引数の印刷アクションでのみ実行するようにスクリプトを変更し、入力がnull(未定義)であることを確認しました。デバッグ用のファイルのソースは
しかし、コマンドラインで実行しているときは、出力は正しいです。また、geditを介して、他のjsコマンドラインツールが正常に機能しています。入力引数が渡されない理由をさまよう。
geditでこのツールに設定した設定は次のとおりです。
設定http://imagebin.org/index.php?mode=image&id=63960
どんな助けでも大歓迎ですありがとう。
spidermonkey - スパイダーモンキーシェル。ソースコードのエンコーディングを変更するにはどうすればよいですか?
入ったら
で、2を印刷します。Firefoxとオペラsmjs
を入力すると、1を印刷します。Rhinoも1を印刷します。javascript:alert("®".length)
そのような文字を単一の文字として扱いたいことをsmjsに伝えることはできますか?Os:linux(Ubuntu 9.04)、ロケール:UTF-8。
javascript - リモートjavascriptをSpiderMonkeyコンテキストにロードするには?
JavaScriptファイルを提供するサーバーがあります。それを取得し、PythonでSpiderMonkeyを使用してその機能のいくつかを実行する必要があります。これどうやってするの?
javascript - JavaScriptの`var`キーワードの紛らわしい操作
私はvar
キーワードに関して非常に奇妙な(私にとって)問題に遭遇しました。私はそれをかなり最小限のテストケースに減らし、Node.js(つまり、V8とChrome)、Safari 4のインスペクター(つまり、Nitro)、およびFireBug(明らかに、SpiderMonkey)に展示されていることを発見しました。私はもともとバグレポートを作成していましたが、非常に広く表示されているため、JavaScriptが変数のスコープと検索をどのように行うのかを完全に誤解していると思います。
テストケースは非常に小さく、GitHubのhttp://gist.github.com/260067にあります。最初の例と2番目の例の唯一の違いは、var
キーワードが含まれていることです。
ここでも、同じ「問題」を別の方法で示す同様のテストケースがあります:https ://gist.github.com/698b977ee0de2f0ee54a
編集:カスケードスコープがどのように機能するかを説明しようとするこれ以上の回答を排除するために、私はそれをよく知っています。私の問題は、次のコードが「機能する」理由がわからないことです(つまり、alert()
「外部」、「内部」、「外部」の順になります)。
;のvar foo;
再割り当てとはまったく関係のない位置で発生します。foo
では、なぜそれがその割り当てに非常に大きな影響を与えるのでしょうか。
javascript - SpiderMonkey で使用する DOM?
Python ラッパーを使用して SpiderMonkey 内から GoogleMaps JavaScript ライブラリを使用しようとしていますが、DOM がないため使用できません。
これを機能させるためにDOMをこれに統合する方法はありますか?
javascript - SpiderMonkeyで再帰制限を増やすことは可能ですか?
私は現在、JavaScriptを使用したProjectEulerの問題に取り組んでいます。ほとんどの場合、私はfor
ループを使用して問題を反復処理してきましたが、再帰関数を使用したいと考えていました。ただし、すべてのJavaScriptエンジンには、処理できる再帰の量に制限があるようです。
シェルから実行するためにSpiderMonkeyをコンパイル/インストールしましたが、それでも18: InternalError: too much recursion
とにかくSpiderMonkeyで再帰制限を増やすことはありますか、それともこれは一般的に悪い考えですか?
コード例:
ご協力いただきありがとうございます。
javascript - Javascript エンジンの利点
現在、JavaScript エンジンについて混乱しています。JavaScript をネイティブ コードにコンパイルしたため、 V8が大したことはわかっています。
次に、 Mozilla SpiderMonkeyについて読み始めました。これは、私が理解していることから、C で記述されており、JavaScript をコンパイルできます。では、これは V8 とどう違うのでしょうか? これが本当なら、なぜ Firefox はこれを行わないのでしょうか?
最後に、Rhinoは文字どおり JavaScript を Java バイト コードにコンパイルするので、Java の速度の利点をすべて利用できますか? そうでない場合、デスクトップでスクリプトを作成するときに V8 を実行しないのはなぜですか?
python - ニシキヘビ、モンゴ+スパイダーモンキー
わかりました、これは私が完全な答えを期待する質問ではありませんが、ここに行きます...
私は現在、python ドライバーを使用して mongo インスタンスでデータを起動しています。ここで、mongo からデータを取得し、コレクション内の各レコードを評価できるようにしたいと考えています。ここで、この評価にスクリプトを渡す必要があります。このスクリプトはデータ行を調べ、条件が満たされた場合は true を返します。
(疑似コード)
行内の各アイテムを評価するために使用するスクリプトは、機能/セキュリティ権限が制限されたサンドボックスにする必要があります。
言い換えれば、コードは評価され、外部ライブラリを含める、リモートサーバーを呼び出す、サーバー上のファイルにアクセスするなどの権限を持たせたくありません...
これを念頭に置いて、mongo はスパイダー モンキー (私が収集したのは JS エバリュエーター) と呼ばれるものを使用してクエリを記述します。私が求めているものを達成するために、mongo呼び出しの結果を取得し、それをスパイダーモンキーを使用して評価されたjavascript関数に渡すことは可能でしょうか? もしそうなら、これは十分に安全です。
正直なところ、私はこの質問を書いていますが、「助けてください、世界をコーディングする方法」タイプの質問の1つによく似ていることに気づきましたが、ポインターは役に立ちます。