使函数在闭包外部可访问

Make a function accessible outside of a closure

本文关键字:访问 外部 闭包 函数      更新时间:2023-09-26

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

(function () {
    ... a bunch of code ..
    function specialFunction() {
        .. some code
    }
}()); 

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