访问IIFE中的函数或变量

时间:2015-02-19 14:53:16

标签: javascript jquery iife

我已经创建了一些我希望包含在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中访问任何变量或函数的最佳方法是什么。

1 个答案:

答案 0 :(得分:0)

您需要做的就是返回您想要在另一个文件中访问的功能,并将其分配给全局可访问的功能。

var changeAreaTo = (function(window, document, $){

    var currentArea;

    function changeAreaTo(value){
        currentArea = $('.sp-spine-item:eq('+value+')');
    }
    return changeAreaTo;

}(window, document, window.jQuery));
相关问题