用对象字面量方式来组织代码好吗?

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 这样会不会增加了不必要的性能消耗?

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

阅读 3.3k
5 个回答

考虑使用ES6+Babel呀,使用类,还可以更好的OO

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

简单点理解,都行,其实不污染外部的环境,怎么做都没错。
还有一点,不要让接手你代码的朋友恨你...

  • 看你们团队的风格,他们的偏向去做选择吧

  • 一般两种方式都是会用到的

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题