0

有人可以解释将所有变量都放在应用程序范围与窗口范围的原因吗?应用范围总是更好吗?

  1. 表现?
  2. 防止命名冲突?
  3. 其他原因?

窗口范围

var myFunction1=function(){
   //do something
};

var myFunction2=function(){
   //do something else
};

var myObject1={
   //store stuff
};

var myDOMElement1=$('.myDOMElement1');

适用范围

var myApplication={
   'myFunction1':function(){
      //do something
   },
   'myFunction2':function(){
      //do something else
   },
    'myObject1':{
      //store stuff
   },
    'myDOMElement1':$('.myDOMElement1')
};
4

1 回答 1

2

原因是信息隐藏和封装。由于 JavaScript 没有内置模块(或组件或类)的概念,为了组织您的代码,您必须使用类似于您在“应用程序范围”中显示的模式。

有关更详尽的解释,请在 Internet 上搜索“JavaScript 模块模式”。

于 2013-05-08T21:15:01.973 回答