通过`this` vs`objectName`访问对象属性

时间:2014-06-03 13:52:34

标签: javascript function module

我一直在整个应用程序中使用JS Modular模式。模块如下所示:

var moduleName = {    

    prop1 : 'value1',
    prop2 : 'value2',

    fun1Name : function () {
       // body of funName
       moduleName.fun2Name(); // notice the way I am calling the function using moduleName
                              // Didn't use this.fun2Name()
    },

    fun2Name : function () {
       // body of functName
    }

};

在模块内部,我一直在使用moduleName.functionName()访问这些函数,这些函数也可以使用this.functionName()访问(我们都知道)。现在我正在重构代码,我很想知道:

  1. 我是否有理由尽可能将moduleName.functionName()更改为this.functionName()
  2. 是否存在与调用模块功能的方式相关的性能问题?
  3. 在模块内部调用模块功能的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

  1. 它使您的代码可以在不同但相似的对象(通常是相同构造函数的实例)之间重用
  2. 没有
  3. 那是主观的
相关问题