0
var test = {
    globalVariable: 'abc',
    
    init: function () {
        this.method();
        this.method0();
    },
    
    method: function () {
        ……
    },
    
    method0: function () {
        ……
    }
};

Or

(function () {
    var globalVariable = 'abc';
    
    // init
    method();
    method0();
    
    function method() {
        ……
    }
    function method0() {
        ……
    }
})();

这两种哪种更好一点?对象方式的看起来很清晰 但用起来也有很多弊端 比如找方法、变量前边都得带上 this 这样会不会增加了不必要的性能消耗?

写成对象会不会方便了扩展等 因为可以已面向对象的方式进行继承、多态 万一以后程序迭代遇到逻辑和对象里的逻辑一样或相似 就会方便很多~

查看全部 5 个回答

0

看你个人需求吧,我比较喜欢前者,但其实后者封装性更好,一些私有属性和方法可以更好地隐藏。

推荐答案

1

js 已经远远偏离了作者本意了,主流不断把她往 OO 上扭,另一个小众流派想把她调教成函数式。回到问题,看得出题主是倾向于 OO 的,那么就按照 ES6 和 ES7 的套路去弄更好,性能并没有区别。