次の内容の「test.js」ファイルがあるとします。
var test = 'something';
次に、テスト変数を取得するために test.js をロードする必要があるプライマリ スクリプトがあります。
明らかにこれは機能します:
$.ajax({dataType: "script", cache: true, url: 'test.js'});
問題は、変数test
がグローバル スコープに存在することです。それをオブジェクトに追加してグローバルスコープから除外する方法があるかどうか興味があります。
何かのようなもの:
function scriptloader() {
this.grabscript = function() {
return $.ajax({dataType: "script", cache: true, url: 'test.js'});
}
}
var myloader = new scriptloader();
myloader.grabscript();
理想的には、 myloader にはロードされた変数が含まれますtest
。ただし、console.log(test) を実行しても「何か」が表示されます。
ロードされたスクリプトをスコープにロックする方法はありますか、それとも夢ですか?