Javascript’new’,函数返回自定义对象

Javascript 'new' with function returning self-defined object

本问题已经有最佳答案,请猛点这里访问。

假设我有以下功能:

1
2
3
4
5
6
var A = function() {
   var label ="hello";
   return {
      getLabel: function() { return label; }
   }
};

之间有什么区别:

1
var a = A();

1
var a = new A();

注意:我不是在问这里JavaScript中的'new'关键字,而是它在这个特定示例中的行为方式。


在您的特定情况下,不,没有区别。

无论如何,您的函数将返回一个自定义的Object。 通过使用new关键字调用函数,ECMAscript将自动为您创建一个新对象(以及使用prototypeconstructor属性做一些魔术),您可以通过this访问/写入this。X4>。

同样,您在该函数中的return { }调用将始终返回该对象引用。