2011-04-29 82 views
2

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

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

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

回答

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 
    } 
}()); 
+0

大。非常感谢你! – 2011-04-29 16:59:52

相关问题