Javascript 将存储在变量中的函数指定为对象文本中的getter

Javascript 将存储在变量中的函数指定为对象文本中的getter,javascript,Javascript,假设我有一个函数。如果我想将其作为方法添加到对象中,我会使用: let foofunc = function() {} { foo: foofunc } 但是,如果我想添加它作为getter呢?你会认为我可以这样做: { get x: foofunc } 但是我的IDE会抱怨,所以我认为这是不可能的。如何执行此操作?您可以像这样使用对象.defineProperty函数: function getterFunc() { return 1; } let anObject = {}; O

假设我有一个函数。如果我想将其作为方法添加到对象中,我会使用:

let foofunc = function() {}
{
  foo: foofunc
}
但是,如果我想添加它作为getter呢?你会认为我可以这样做:

{
  get x: foofunc
}

但是我的IDE会抱怨,所以我认为这是不可能的。如何执行此操作?

您可以像这样使用
对象.defineProperty
函数:

function getterFunc() { return 1; }
let anObject = {};
Object.defineProperty(anObject, 'propertyName', {get: getterFunc});
实例:

函数getterFunc(){return 1;}
设anObject={};
defineProperty(一个对象,'propertyName',{get:getterFunc});

console.log(anObject.propertyName);//1使其成为getter函数

let foofunc = function() { return this.x;}

let obj = {
  x: "marvel",
  get foo(){return foofunc.call(this)}
};
使用:

假设我有一个函数。如果我想把它作为一个方法添加到一个对象中,我会使用“只有在第二行的
{
前面有
x=
或类似的东西时,你所展示的才会起作用。
console.log(obj.foo);