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