【问题标题】:Make a function accessible outside of a closure使函数在闭包之外可访问
【发布时间】:2011-04-29 16:43:34
【问题描述】:

有没有办法让在闭包内创建的函数可以在闭包外部访问?我正在使用 AIR 应用程序,我需要提供对 AIR 的 specialFunction() 的访问权限,但关闭会阻止这种情况发生。

(function () {
    ... a bunch of code ..

    function specialFunction() {
        .. some code
    }
}()); 

【问题讨论】:

    标签: javascript closures


    【解决方案1】:

    您可以将函数分配给全局对象(在浏览器中为window):

    (function () {
        ... a bunch of code ..
    
        window.specialFuncton = function() {
            .. some code
        }
    }());
    

    这使它在全球范围内可用。

    如果 AIR 应用程序还需要访问其他函数,那么最好为这些函数创建一个命名空间:

    var funcs = {}; // global
    
    (function () {
        ... a bunch of code ..
    
        funcs.specialFuncton = function() {
            .. some code
        }
    }());
    

    【讨论】:

      猜你喜欢
      • 2021-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-05
      • 1970-01-01
      • 1970-01-01
      • 2013-04-24
      • 1970-01-01
      相关资源
      最近更新 更多