Javascript文档结构Obj vs Func

时间:2013-10-22 08:12:30

标签: javascript architecture structure

我已经看到了构建大型共享js文档的几种方法,我试图了解要采用哪种方法。

我在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 个答案:

答案 0 :(得分:1)

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

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

从性能方面来看,Prototype方式更为恰当。