将字符串映射到javascript中的函数

lol*_*lol 4 html javascript jquery map

我想根据HTML元素列表中的HTML属性的值来制作它,我可以根据该属性的字符串值调用不同的javascript函数.

基本上我想要的是javascript/jQuery中string => function的地图.(然后当然可以调用此函数).

这可能吗?

Poi*_*nty 9

是:

var fnMap = {
  "foo": function() { ... },
  "bar": function() { ... },
  // ...
};
Run Code Online (Sandbox Code Playgroud)

如果您的函数已存在,则可以按名称引用它们:

var fnMap = {
  "foo": someFunction,
  "bar": otherFunction,
  // ...
};
Run Code Online (Sandbox Code Playgroud)

你可以混合这两种风格.

要根据值调用其中一个函数:

fnMap[ value ]( param, param, ... );
Run Code Online (Sandbox Code Playgroud)

  • 这正是我所建议的,除了我可能将实际调用包装在`if(fnMap [value]){fnMap [value](); }`这样在沿途没有形成某些东西的情况下就没有参考错误.也就是说,参考错误可能是正确调试工具的帮助(只是在生产时). (4认同)