第二段可具包的概念,有java的包思想在其中

解决方案 »

  1.   

    第二种看着还舒服!
    同意一楼就是相当于java的包或者C#的namespace
      

  2.   

    第一种方法楼主如果知道一点函数的用法就应该明白
    我在这儿说一下第二段代码:第二段代码: 
    var oTest = { 
      create:function(){ 
        var obj = document.createElement("div"); 
        obj.id = "aa"; 
        return obj; 
      }, 
      handler:function(){ 
        var objDiv = oTest.create(); 
        document.body.appendChild(objDiv); 
      } 
    }; 
    oTest.handler();
    JS中如果我们要定义一个对象,一般使用{attribut:value} 的形式
    例如:var person = {name:"wei" ,age:25} ;
    这样我们就定义了一个Person对象。
    这和第二段代码是一样的,只不过是在定义对象的时候并不是定义对象的属性(attribute),而是定义对象的函数(Function - 在面向对象语句中称为“方法”) ,这样我们就可以使用 Object.functionName() 形式来直接调用
    例如: 
    var person = {name:"wei" ,age:25 ,speak:function(){alert("speak");}} ;
    alert(person.name);
    alert(person.age);
    person.speak();
    函数的定义采用的是匿名函数的形式,楼主可以参看一下相关资料。希望我的回复能给楼主带来帮助!
      

  3.   

    看来大部分人都认为第二种方法好我个人也认为那样写JS代码有点OO的意思,谢谢各位