まず、私が JavaScript の初心者であることを認めることから始めましょう。したがって、質問は基本的にあまり適切ではない可能性があり、私を助けるのに十分な情報が不足している可能性があります.
バックグラウンド
私の組織には、JavaScript 用の内部 Eclipse ベースの IDE があります。JavaScript でスクリプトを記述し、直接実行するだけです。いくつかの例外のスタック トレースで見たので、Rhino を使用していると思います。
私のコードは 3 つの「.js」ファイルで実行されます。
スクリプト 1: グローバル変数を宣言し、それらを Java オブジェクトとしてインスタンス化する
importClass(java.util.HashMap);
var hmTCResult = new HashMap();
スクリプト 2: スクリプト 1 のグローバル変数を使用していくつかのアクションを実行する
Script-2.prototype.run = function() {
hmTCResult.put("Result", "Fail");
};
changeStatus = function(strStatus){
hmTCResult.put("Result", strStatus);
};
スクリプト 3: グローバル変数を使用するスクリプト 2 の関数を呼び出す
changeStatus("Pass")
問題定義
スクリプト 3 からスクリプト 2 の関数を呼び出すと、インスタンス変数が選択されないようで、関数が失敗します。つまり、「hmTCResult がオブジェクトのインスタンスに設定されていません」という例外が発生します。同じ変数 hmTCResult がスクリプト 1 でうまく機能することに注意してください。
JavaScript でスコープとコンテキストをいくつか読みましたが、IDE で明示的に表示されないため、突破できませんでした。
必要に応じて、さらに情報を提供させていただきます。