我在我的html
页面有两个js
文件。如果第一个开头:从js文件返回值
(function($){
..
..
}(jQuery));
我可以插入一个var
到function($,varname)
,return
它的价值,并在其他文件中使用它?
我在我的html
页面有两个js
文件。如果第一个开头:从js文件返回值
(function($){
..
..
}(jQuery));
我可以插入一个var
到function($,varname)
,return
它的价值,并在其他文件中使用它?
您需要一个全局变量。您可以通过几种方法之一来完成此操作。假设我们需要将值“培根”发送给另一个脚本。
(function($){
window.myScriptsExports = "Bacon";
}(jQuery));
// OR
var myScriptsExports = (function($){
// other code
return "Bacon";
// NO other code
}(jQuery));
// OR (not really recommended)
(function($){
// other code
$.myScriptsExports = "Bacon";
// other code
}(jQuery));
假设你的函数时线,你可以设置一个全局函数:
(function($){
..
var myvar = 666;
window.getMyVar = function() {
return myvar;
};
..
}(jQuery));
,你可以从其他的功能,如果第二个文件是这样一个后进口使用它:
(function($){
..
var myprevisouslysetvar = window.getMyVar();
..
}(jQuery));
请注意,这些文件在javascript中无关紧要:您的页面在连接两个文件时的工作方式相同(除了“严格使用”之外的细节)。
编辑后更清晰,谢谢。 – steo 2013-03-04 12:21:59
可以提高使用全局命名空间肚里像代码:
(function($,global){
var _obj = {};
_obj.property1 = 'Property1';
_obj.function1 = function() { console.log('Function 1');};
global.myObject = _obj;
}(jQuery,window));
//accessing
window.myObject.property1
//or
window.myObject.function1()
不'return',但你可以将其指定为window'的'属性。 – 2013-03-04 12:16:27