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);