窗口与Javascript变量的应用范围

时间:2013-05-08 21:04:14

标签: javascript jquery object namespaces scope

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

  1. 性能?
  2. 防止命名collisons?
  3. 其他原因?
  4. 窗口范围

    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')
    };
    

1 个答案:

答案 0 :(得分:2)

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

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