在闭包之外设置一个函数

时间:2011-04-29 16:43:35

标签: javascript closures

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

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

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

1 个答案:

答案 0 :(得分:3)

您可以将该功能分配给全局对象(在浏览器中为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
    }
}());