問題タブ [javascript-engine]

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 に答える
7072 参照

java - 「ドキュメント」は定義されていませんJava スクリプト エンジン

scriptEngine を使用して Java でドキュメントを呼び出そうとしています ここに私のコードがあります

それは例外をスローします

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

javascript - eval()キーワードはjavascriptでコンパイラの最適化をどのように正確に破りますか

eval() キーワードはレキシカル スコープをだますため (コードの実行が遅くなる)、避けるべきであると読みました。上記の例 (または誰かが持っている他の例) のコンテキストで、これがどのような種類のコンパイラの最適化を壊す可能性があるかを理解しようとしています。

行 newVar = 100; を見ると、この変数も、実行フェーズ中にエンジンによって (グローバル スコープで) 作成されます。これがレキシカルスコープを「ごまかす」ことになるとは思いません。次に、本質的に同様のことを行う eval("bar = 42;") の問題は何ですか? 質問が明確であることを願っています。

0 投票する
0 に答える
526 参照

compilation - 言語エンジン VS. ランタイム VS. 仮想マシンの処理

JavaScript の人気が高まっているため、JavaScriptエンジン、JavaScript仮想マシン、または JavaScriptインタープリターのいずれかについて、同じコンテキストで同じことを参照しているのを(同じスピーチ中でも) 聞くことに興味をそそられました。

したがって、私はいくつかの調査を試みました。これらの流行語がすべて同時に共存する理由 (理由があるに違いありません) と、それらの間に実際の (わずかではありますが) 違いがあるかどうかです。

これまでに学んだことを、さまざまな情報源から要約しようとしています (次の行で引用しています)。私が間違っている/誤解を招くような場合は、お気軽に修正してください。

それらすべての実行時の義務は基本的に同じであることがわかりましたが、主な違いもいくつか見つかりました。

  1. 仮想マシンの処理

  2. ランタイム

    • ネイティブコードから離れて抽象化しない
    • コンパイル手法のみ を使用する (ジャストインタイムまたは 事前のいずれか)
    • VM プロセス/サンドボックス化されたアプリケーションがない
    • 基盤となるオペレーティング システムへの密結合/依存関係
    • 例: 共通言語ランタイム、Android ランタイム
  3. 言語エンジン

質問:

  • 上位のリストは正確ですか? それとも、同じ名称を使用する最も一般的なランタイム システム間の完全に偶然の類似性に基づく副産物ですか?

  • 他にも注目すべき違いはありますか?

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

javascript - 自分のコードを実行している javascript エンジン、rhino または nashorn を特定するにはどうすればよいですか?

ブラウザーで JavaScript エンジンを判別する方法についていくつか質問があります。rhino と nashorn で実行する必要がある JavaScript コードを作成する必要があります。

コードが rhino または nashorn で実行されているかどうかを確認するにはどうすればよいですか? エンジンを決定できる典型的な関数、変数、定数はありますか?

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

javascript - JavaScript が解釈されているか、jit がコンパイルされているか

私はプログラミングが初めてです。そして、私はjavascriptに関するチュートリアルに従っています。しかし、私は jit compilar とインタープリターと混同しています。ソース コードからバイト/ネイティブ コードに変換された JavaScript です。jit コンパイラーまたはインタープリターを使用しますか? または、実行しているブラウザーと JavaScript エンジンに依存します。

ご回答ありがとうございます

0 投票する
0 に答える
387 参照

firefox - Firefox が js エンジン SpiderMonkey または IonMonkey として使用しているもの

このウィキペディアの SpiderMonkey に関するページを読んだとき、私は混乱しました

現在 Firefox で js SpiderMonkey、IonMonkey、JägerMonkey、またはそれらの組み合わせに使用されているものは何ですか?

ありがとうございました

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

javascript - 配列要素のインデックスを取得するために JS エンジンがどのようにループするかを理解する

列に並んでいる人の名前と実際のインデックスを出力する関数を作成しました。

関数を実行すると、出力は次のようになります。

The line is currently: 1. Sarah, 2. Mike, -1. Bob

JavaScript エンジンはループをどのように解釈していますか? ボブ -1 はどうですか? 前回は 2 + 1 = 3 でした。

これを自分で修正したいのですが、この一見単純なループで何が起こっているのかを理解しようとしています。

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

javascript - 未知の Javascript エンジンのコードを検討する場合、実行速度とメモリ節約に最も影響を与える考慮事項は何ですか?

次に、より完全な質問は、「Javascript エンジンが (一般的なエンジンごとに) わかっている場合、これらの考慮事項はどのように影響を受けるか」ということだと思います。

TheConstructorFunction.prototype.constructor = TheConstructorFunction私が「コミュニティ」に尋ねる必要があると思う理由は、Node.js のようなものを作成するStrongloopのような人が、util.inherits のようなコードを書いているからです。設定中:

これは私には非効率に思えますが、このようなコードの作成者とは対照的に、私は 3 年間、より優れた Javascript を作成するために努力してきました。これが効率的である、または効率的でない理由についての説明はありますか?

1 つの回答は、サブクラスの操作はまれであるため、util.inherits は非効率的ではないと述べています。しかし、一部のライブラリは、ビルドからテスト結果の観察までの間に発生する数百、数千のサブクラス操作を処理することを考慮すると、Node.js が内部で util.inherits を使用すると、そのコンシューマの開発時間に影響します。このレベルでは効率が重要であり、util.inherits が内部で使用されていないことを願っています。util.inherits の目的すら理解できません。なぜそれを持っているのですか?複利の非効率性を助長していると思います。 require('util').inherits(C1,C2);はほとんど同義語でありC1.prototype=Object.create(C2.prototype); C1.prototype.constructor=C1; 、消費者を誘惑することだけを目的としている場合よりも遅い可能性があります。大きなライブラリはNode.jsの効率に依存するため、これらのプロがその関数を内部で使用しているかどうかが私の懸念です。作りに関しては.constructor列挙不可能...その「列挙可能性」が問題になるケースはまれであり、消費者に任せるべきだと思いますが、内部操作がutil.inheritsに依存している場合、これは実際には消費者に任せられていません。