可能重复:
如何创建全局可访问变量?
如何在以下范围内制作变量和函数:
$(function() { })
全球范围?
你有这些选择。
window
前缀使它们在全局范围内。var myGlobal;
$(function() {
myGlobal = 4;
});
$(function() {
window.myGlobal = 4;
});
如果您希望闭包内的代码在全球范围内可用,那么我建议您使用JS namespaces。例如:
var myNameSpace = myNameSpace || {} //create a namespace
使用命名空间可确保您不会污染全局命名空间。然后在你的闭包中,你可以使用对象、函数和变量来扩展命名空间:
$(function(){
if(myNameSpace){
myNameSpace.function1 = function(p1){ return $(p1).val() };
myNameSpace.function2 = function(p2){ return $(p2).val() };
}
})();
function1 和 function2 应该通过 myNameSpace “全局”可用。