我已经创建了一些我希望包含在IIFE中的JavaScript,但我发现它很难,因为JavaScript包含在不同JS文件中使用的变量和函数。
示例:
我-app.js
(function(window, document, $){
var currentArea;
function changeAreaTo(value){
currentArea = $('.sp-spine-item:eq('+value+')');
}
}(window, document, window.jQuery));
外app.js
(function(window, document, $){
changeAreaTo(3);
$('html, body').scrollTop(currentArea.position().top);
}(window, document, window.jQuery));
我的实际JS比上面的要复杂一些,但这可以让你对我正在处理的内容有一个基本的了解。
my-app.js可能会在多个项目中使用,但不应针对每个项目进行修改,它有点像基础库。
所以,我想知道外部JS文件在单独的IIFE中访问任何变量或函数的最佳方法是什么。
答案 0 :(得分:0)
您需要做的就是返回您想要在另一个文件中访问的功能,并将其分配给全局可访问的功能。
var changeAreaTo = (function(window, document, $){
var currentArea;
function changeAreaTo(value){
currentArea = $('.sp-spine-item:eq('+value+')');
}
return changeAreaTo;
}(window, document, window.jQuery));