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; }
}
}; |
之间有什么区别:
和
?
注意:我不是在问这里JavaScript中的'new'关键字,而是它在这个特定示例中的行为方式。
-
请参阅stackoverflow.com/questions/1646698/…
-
请仔细阅读stackoverflow.com/questions/1646698/…
-
是的我已经读过了。 我只是想知道这个特定的例子是否有任何不同
-
@fmsf问题是关于给定的例子,这就是为什么我发布它尽管存在stackoverflow.com/questions/1646698/…
-
那个全新的东西[在这里回答] [1]和[也在这里] [2]。 [1]:stackoverflow.com/questions/1646698/… [2]:stackoverflow.com/questions/383402/…
-
@GhoulFool询问new事物在特定上下文中的应用是否无关紧要?
在您的特定情况下,不,没有区别。
无论如何,您的函数将返回一个自定义的Object。 通过使用new关键字调用函数,ECMAscript将自动为您创建一个新对象(以及使用prototype和constructor属性做一些魔术),您可以通过this访问/写入this。X4>。
同样,您在该函数中的return { }调用将始终返回该对象引用。
-
+1 - 这里重要的例子:jsfiddle.net/9Xcbr