除了它们被调用的方式之外,这两个函数(一个是访问器属性的 getter)在 JavaScript 对象中有什么具体区别?
var o = {
foo: function() { return "bar"; },
get foo2() { return "bar2"; }
}
var o = {
foo: function() { return "bar"; },
get foo2() { return "bar2"; }
}
方法
是与一个对象
相关联的函数
,简单来说,方法是一个对象的属性,该属性是一个函数。方法的定义方式与普通函数
的定义方式相同,只是它们必须被分配为对象的属性。
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);
get foo2() { return "bar2"; }
不是有效的 JavaScript 语法。 - Uzbekjono.foo
返回一个函数回调,o.foo2
返回一个字符串。 - str