文档就绪功能中的全局范围

时间:2013-01-13 04:49:50

标签: javascript jquery scope

  

可能重复:
  How do I create a globally accessible variable?

如何在以下内容中创建变量和函数:

$(function() {  })

全球范围?

2 个答案:

答案 0 :(得分:4)

你有这些选择。

  1. 您可以在函数范围之前预先声明变量。
  2. 您可以使用window前缀在全局范围内创建它们。
  3. 选项#1:

    var myGlobal;
    $(function() { 
        myGlobal = 4;
    });
    

    选项#2:

    $(function() { 
        window.myGlobal = 4;
    });
    

答案 1 :(得分:0)

如果您希望闭包内的代码可以全局使用,那么我建议使用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“全局”可用。