我的js
页面中有两个html
文件。如果第一个以:
(function($){
..
..
}(jQuery));
我可以将var
插入function($,varname)
,return
它的值并在另一个文件中使用它吗?
答案 0 :(得分:3)
你需要一个全局变量。您可以通过以下几种方式之一完成此操作。我们假设我们需要将值“Bacon”发送到另一个脚本。
(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));
答案 1 :(得分:2)
您可以使用全局命名空间来改进代码,如:
(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()
答案 2 :(得分:1)
假设您的功能是同步的,您可以设置一个全局功能:
(function($){
..
var myvar = 666;
window.getMyVar = function() {
return myvar;
};
..
}(jQuery));
如果在此之后导入第二个文件,则可以从其他函数中使用它:
(function($){
..
var myprevisouslysetvar = window.getMyVar();
..
}(jQuery));
请注意,javascript中的文件无关紧要:如果两个文件连接在一起,那么您的页面将会起作用(如果您使用“严格”,则除外)。