【发布时间】:2016-07-03 07:18:29
【问题描述】:
假设这是我的对象
// Object Literal
var personObjLit = {
firstname : "John",
lastname: "Doe",
greetFullName : function() {
return "personObjLit says: Hello " + this.firstname +
", " + this.lastname;
}
}
我想调用greetFullName方法,我可以用两种方法调用。
var personFullName = personObjLit.greetFullName();var personObjLitObject = Object.create(personObjLit);
我想知道这两者有什么区别。我的意思是它只是不同的方法,或者它会影响记忆或其他东西。
【问题讨论】:
-
您的“第二个调用 greetFullName 的方式”甚至不调用 greetFullName
-
“或者它会影响内存” - 显然第二种方式涉及到拥有两个对象,而第一个只有一个,那么你怎么看?但是由于内存问题,您不会选择其中一种,而是根据代码实际应该执行的操作来选择其中一种。
-
第二种方式创建一个以
personObjLit为原型的新对象,这不太可能是你想做的。
标签: javascript object object-literal object-create