到底有什么区别
function ObjA() {
this.a = 'text';
}
var obj = new ObjA();
和
function ObjB() {
return {
a: 'text'
};
}
var obj = new ObjB();
我之所以问,是因为我正在阅读这个问题,并且在其中一个答案中注意到以下内容:
function Test() {
this.a = 1;
return {
get A() { return this.a; },
set A(v) { this.a = v; }
};
}
所以我问自己这与以下有什么区别:
function Test() {
this.a = 1;
}
Test.prototype = {
get A() { return this.a; },
set A(v) { this.a = v; }
};
他们在评论中说,前者“占用内存,因为每个对象的 getter 和 setter 都是“唯一的””。有人可以详细说明一下吗?