我正在构建一个包含属性的对象,其中键是字符串,值是函数。我知道如果键不是字符串,我可以使用点表示法来调用这个函数。例如:
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']());