有没有办法在 JS 中使用括号表示法调用存储为属性的函数?



我正在构建一个包含属性的对象,其中键是字符串,值是函数。我知道如果键不是字符串,我可以使用点表示法来调用这个函数。例如:

const obj = new Object();
obj.prop1 = function () {return true}
//what I want to emulate
obj.prop1() 

在这种情况下,我可以调用 obj.prop1(( 来运行函数。但是,我正在动态地向此对象添加属性,因此在创建属性时需要传递一个字符串。示例如下:

obj['prop1'] = function() {return true}
//Unfortunately I cannot call the function stored in prop1 using the example below
obj['prop1']() 

如何使用括号表示法调用函数?

你写的已经是使用括号表示法调用函数的正确方法。请参阅下面的工作片段。

const obj = new Object();
obj['prop1'] = function() {return true};
console.log(obj['prop1']());

最新更新