問題タブ [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.
javascript-engine - JavascriptEngine の Eval は、「a-gamma」を個別の変数として使用しますか?これに対する解決策はありますか?
変数を次のように保存しようとしています
しかし、評価時に、ガンマが変数で定義されていないという例外がスローされます。これに対する解決策はありますか?. ハマった!
double - double について質問すると、ScriptEngine は 5 を返します。
以下のコードを使用して scriptEngine を作成します。double を含む計算をしようとするまではうまくいきました。以下のコードは 30 を返すはずですが、代わりに 5 を返します。何か間違っているのでしょうか、それとも scriptEngine が double を実行できないのでしょうか?
java - Nashorn JavaScript Invocable.getInterface が Web アプリのクラスローダー全体で失敗する
JavaScript で定義された関数を Java コードから (Nashorn を使用して) 呼び出し、そこにいくつかのパラメーターを渡す必要があります。Invocable.invokeFunction("Foo", arg1, arg2) を使用する代わりに、インターフェイスを定義し、Invocable にその実装を作成するように要求します。これは、オラクルがここで提案している「Oracle Nashorn の埋め込み」:
問題は、Tomcat で実行されている Web アプリケーションでこれを行っているため、Composer がアプリレベルのクラスローダーによって読み込まれ、nashorn クラスが拡張機能のクラスローダーによって読み込まれることです。そのため、getInterface はTypeError: Can not find a common class loader for ScriptObject と mypackage.Composer を言って失敗します。
それを克服する方法はありますか?もちろん、Composer が実際には ext ローダーであると仮定して (ハックのように)、親クラスローダーに Composer をロードしようとすることもできますが、それには少なくとも 1 つの問題があります。つまり、クラスが見つからないということです。私のパッケージは私の Web アプリケーションに存在し、拡張ローダーはそこに見えません。他に素晴らしいアイデアはありますか?
PSそして今、私はこのメッセージが奇妙であることに気付きました:アプリのクラスローダーが外部クラスローダーに委譲する場合、もちろん後者がそれらの共通のクラスローダーです。たぶん彼らは、ターゲットインターフェースのクラスローダーが実際の実装のクラスローダーと等しくなければならない、または実装のクラスローダーがターゲットのクラスローダーに委譲しなければならない(しかしその逆ではない)と言おうとしていたのでしょうか?
javascript - V8 では、null、undefined、boolean などのプリミティブ型はどのようにメモリに格納されますか?
aboolean
は 32 ビット整数としてメモリに格納されていますか? null
値はどうですか?
本Speaking Javascriptでは、メモリに格納されている値の型を示すために使用されるtype タグを指します。例 type の type タグObject
は 000 でした。 type タグとは何ですか?
またはなどの値型の型タグを見つけるにはどうすればよいですか?boolean
string
javascript - `function fx () {}` 形式の Javascript での関数宣言は、LHS または RHS ルックアップですか?
Kyle Simpson によるYou don't know JSのScopes and Closureタイトル、特にこのトピックCompiler Speakを読んでいました。このセクションでは、エンジンが使用するルックアップの種類について説明します。これで、このセクションで説明した範囲で、LHS または RHS ルックアップとは何かを理解できました。
私の問題は、フォームの関数宣言がfunction fx(a) {..
LHS ルックアップではないというメモです。同じ説明がありますが、理解できません。全メモはこちら
関数宣言 function を、 や などの通常の変数宣言と代入として概念化する誘惑に駆られるかもしれませ
foo(a) {...
ん。そうすることで、この関数宣言が LHS ルックアップを含むものと考えたくなるでしょう。ただし、微妙ではありますが重要な違いは、コンパイラがコード生成中に宣言と値定義の両方を処理することです。これにより、エンジンがコードを実行するときに、関数値を に「割り当てる」ための処理が必要なくなります。したがって、ここで説明している方法で、関数宣言を LHS ルックアップ代入と考えるのは適切ではありません。var foo
foo = function(a){...
foo
どんな種類の明確化も役に立ちます。LHS および RHS ルックアップでも。
javascript - HTML 要素に JavaScript 関数が割り当てられているかどうかを検出する
Web ページを解析および分析するための Windows フォーム アプリケーションを開発しています。私はウェブブラウザコントロールを使用しました。Web ページには、以下の html および javascript コードがあります。私のWindowsフォームにはC#コードがあります。コードは次のとおりです。
HTML コード:
Javascript:
関連する URL をナビゲートした後の Windows フォーム アプリケーションの C# コード:
このように、各要素の関連文字列を確認した後、要素に JavaScript 関数が割り当てられているかどうかを判断できます。これは el1 と el2 では機能しますが、el3 では null 文字列を返します。
addEventListener を使用して、3 番目の要素に JavaScript 関数が割り当てられていることをどのように把握できますか?
node.js - どのJavaScriptエンジンで実行されているかをnodejsから検出する方法は?
現在、nodejs にはいくつかのフォークがあり、そのうちのいくつかは Google の V8 エンジン以外の JavaScript エンジンをサポートしています。
ノードコードがどの JS エンジンで実行されているかを確認するには、現在どのような方法が最適ですか?
私が認識しているエンジンは次のとおりです。
- Google のV8 - 公式のnode.jsとiojsフォークでサポートされている唯一のエンジン。JXcoreがサポートするエンジンの 1 つ。
- Mozilla のSpiderMonkey - JXcoreがサポートするエンジンの 1 つ。
- Microsoft のChakraCore - Microsoftの node.js ポートでサポートされているエンジンで、JXcoreでサポートされているエンジンの 1 つですが、まだ動作させることはできません。
(nodejsのどのフォークが使用されているかを検出することについて、別の質問をしました。この質問は、JSエンジンの検出に関するものです。)
java - 致命的な例外 NoClassDefFoundError
Androidでスクリプトを実行したい。だから私はからJavaScriptエンジンを追加しました
http://www.java2s.com/Code/JarDownload/jsr223/jsr223.jar.zip
私のグラドル(モジュール:アプリ)は次のように述べています:
アプリの実行中にスクリプト エンジンを初期化するボタンをクリックすると、次のエラーが発生しました。
解決方法はありますか?