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

时间:2013-02-07 09:08:17

标签: javascript

假设我有以下功能:

var A = function() {
   var label = "hello";
   return {
      getLabel: function() { return label; }
   }
};

之间有什么区别:

var a = A();

var a = new A();

注意:我不是在这里问what is the 'new' keyword in JavaScript,而是在这个特定的例子中它是如何表现的。

1 个答案:

答案 0 :(得分:7)

在您的特定实例中,,没有区别。

无论如何,您的函数将返回自定义对象。通过使用new关键字调用函数,ECMAscript将自动为您创建一个新对象(同时使用prototypeconstructor属性做一些魔术),您可能 access < / em> / 通过this内的function (-constructor)写入

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