2

当我使用$.getScript主 javascript 文件中的变量时,无法传递给包含的 js 文件。例如:

var tVar = 'Hello World!';
$.getScript('js/setting.js', function() {
    // My callback code
});

设置.js

alert(tVar);

如何将变量传递给包含的文件?

4

3 回答 3

2

可以在包含的 js 文件中使用函数并将变量作为参数传递给该函数。

于 2012-04-26T09:16:09.823 回答
1

加载的脚本只能访问全局变量。

你有两个选择:

  1. 临时创建一个全局变量。
  2. 从回调中调用注入的函数。

方法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
}
于 2012-04-26T09:16:37.897 回答
0

好吧,老实说,我不知道为什么更多的人不这样做,但这就是我所做的

// 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 );
});
于 2012-04-26T09:20:02.793 回答