除了调用它们的方式之外,javascript对象中这两个函数(一个是访问器属性getter)之间的具体区别是什么?
var o = {
foo: function() { return "bar"; },
get foo2() { return "bar2"; }
}
答案 0 :(得分:3)
从MDN开始,有时需要允许访问返回动态计算值的属性,或者您可能希望反映内部变量的状态而无需使用显式方法调用。在JavaScript中,这可以通过使用 getter 来完成。
method
是与function
相关联的object
,或者简单地说,方法是作为函数的对象的属性。方法的定义方式为normal functions
,但必须将它们指定为对象的属性。
foo2
更像是一个属性,而不是一个能够/可以保存动态值的方法。
var o = {
foo: function() {
return "bar";
},
get foo2() {
return "bar2";
}
};
//To invoke 'foo'
console.log(o.foo());
//To invoke 'foo2'
console.log(o.foo2);