1

标题基本上解释了这个问题。该代码包括 jQuery 和 a $(document).ready(function(){...}),其中包含 800 多行以及 400 多行函数声明。顶部还有一些全局变量。我想将所有这些都放入一个闭包中而不影响(我应该说影响吗?)代码当前的功能(或者至少希望很少)!

4

2 回答 2

6

不知道您的代码是什么样的:

(function(window, $) {
   // your code here
}(window, jQuery));

但如果一切都已经在 a 中$(document).ready(),那么你真的不需要做任何事情。

于 2013-06-20T02:58:42.087 回答
1

$(document).ready(function已经将所有代码包装在一个函数中并将其隐藏在全局范围内。

$(document).ready(function(){
  var closurevar=22;// will be available withint 
             // the function body but not outside
  console.log(closurevar);//will be 22
  globalVar=33;//not having the var keyword puts this
               // in global scope
  window.globalVar2=44;//more correct way to define global var
                       // jquery defines $ in this way.
});

console.log(closurevar);//will be undefined
// globalVar won't be available until document ready is executed
console.log(globalVar);// will be undefined but will be set after
                       // document.ready has executed
于 2013-06-20T02:59:01.737 回答