无法定义基于函数的查找 table

can't define a function - based lookup table

我正在尝试定义一个基于函数的查找 table - 一个对象数组,每个对象都包含一个函数(现有函数,不是箭头函数)和一个字符串。我试过:

let lookup_table = [{'foo', bar}, {'abc', def}];
(.....)
function bar(command){(..)}
function def(command){(..)}

另一种(也是更受欢迎的)方法是通过字符串索引来引用函数,类似的东西

lookup_table['foo']('abc'); //=bar('abc')

当您真正需要的只是一个对象时,您已经为 lookup_table 设置了一个数组。

在 属性 和对象中的值之间也使用逗号作为分隔符的语法错误

下面的例子有效

function bar(command){console.log('Called bar() , command =', command)}
function def(command){console.log('Called def() , command =', command)}

let lookup_table = {'foo': bar,'abc': def};

lookup_table['foo']('abc');
lookup_table['abc']('123');