假设我有以下功能:
var A = function() {
var label = "hello";
return {
getLabel: function() { return label; }
}
};
Run Code Online (Sandbox Code Playgroud)
之间有什么区别:
var a = A();
Run Code Online (Sandbox Code Playgroud)
和
var a = new A();
Run Code Online (Sandbox Code Playgroud)
?
注意:我不是在问这里JavaScript中的'new'关键字,而是它在这个特定示例中的行为方式.
在您的特定情况下,不,没有区别.
无论如何,您的函数将返回一个自定义的Object.通过调用与函数new关键字,EcmaScript的将自动为您创建一个新的对象(一起做一些魔术prototype和constructor属性),你可能访问/写入通过this内function (-constructor).
同样,您return { }在该函数中的调用将始终返回该对象引用.
| 归档时间: |
|
| 查看次数: |
6573 次 |
| 最近记录: |