You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中如何通过字符串动态调用对象内的对应函数

解决方案

你可以直接用JS的方括号属性访问语法实现动态属性读取,完全不需要写大量if/else判断。核心逻辑是把拼接好的属性名字符串放在方括号里,就能访问到对应的函数,之后直接调用即可。

实现代码

const category = 'Chefs';
// 注意:这里把你的变量名从new改成了newObj,因为new是JS关键字,直接用作变量名会触发语法错误
const targetFunc = newObj[`dataFunc_${category}`];
// 调用前加一层判断,避免属性不存在时报错
if (typeof targetFunc === 'function') {
  targetFunc();
}

拓展说明

  • 这种写法支持任意数量的dataFunc_前缀函数扩展,后续新增dataFunc_xxx类型的方法时,只需要给category赋值为对应xxx的值即可,不需要修改调用逻辑
  • 调用前的类型判断可以避免category取值非法时,访问到非函数值调用报错的问题

内容的提问来源于stack exchange,提问作者SDB_1998

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 03:06:03