当我使用$.getScript
主 javascript 文件中的变量时,无法传递给包含的 js 文件。例如:
var tVar = 'Hello World!';
$.getScript('js/setting.js', function() {
// My callback code
});
设置.js:
alert(tVar);
如何将变量传递给包含的文件?
可以在包含的 js 文件中使用函数并将变量作为参数传递给该函数。
加载的脚本只能访问全局变量。
你有两个选择:
方法1的代码:
var tVar = 'Hello World!';
$.getScript('js/setting.js');
window.get_tVar = function() {
delete window.get_tVar; // Clean-up
return tVar;
};
// In settings.js:
function logic() {
var tVar = window.get_tVar();
}
方法2的代码:
var tVar = 'Hello World!';
$.getScript('js/setting.js', function() {
newGlobalFunc(tVar);
});
// In settings.js:
function newGlobalFunc(tVar) {
// Do something
}
好吧,老实说,我不知道为什么更多的人不这样做,但这就是我所做的
// settings.js
var com = {};
com.example = {};
( function( $ ) {
com.example.Main = function(){
var private = {};
var public = {};
public.initialize = function( myVar ){
alert( myVar );
}
return public;
}()
})( jQuery );
// main
var myVar = 'Hello World!';
$.getScript('js/setting.js', function() {
com.example.Main.initialize( myVar );
});