2013-10-22 37 views
0

我见过构建大型共享js文档的几种方法,我试图理解遵循哪种方法。Javascript文档结构Obj vs Func

我在Web项目中看到的一种涉及大量无关函数调用的方法是将每个调用定义为共享父对象的方法(最小化全局和模拟命名空间)。

var parentObj = { 
    someMethod: function() { 
     $('.slideshow').animate({}); 
    }, 
    someOtherMethod: function() { 
     $('.accordian').on('click', function() { 
      console.log('etc, etc'); 
     }); 
    } 
}; 

我见过的另一种方法是使用父函数;

var parentFunc = function() { 
    this.someMethod = function() { 
     $('.slideshow').animate({}); 
    }; 

    this.someOtherMethod = function() { 
     $('.accordian').on('click', function() { 
      console.log('etc, etc'); 
     }); 
    }; 
}; 

然后在需要时初始化所需的方法;

$(document).ready(function() { 
    parentObj.someMethod(); 
    parentFunc.someOtherMethod(); 
}); 

问题:

是否有构建一个JavaScript文件的这两种方式之间的任何操作上的差异?

其中一个比另一个更好(或更普遍接受)的做法吗?

在代码重用方面,使用其中一个(例如实例化方法的新实例,例如第二个幻灯片或手风琴)是否有优势?

回答

1

从运营方面来看,它们是相同的。每次调用函数时,都会编译这两个子函数。

也有Prototype方式 - 在这种情况下声明,函数被声明一次并分配给其他函数。

从性能方面来看,Prototype方式是比较合适的方式。