js中函数动态调用

文章目录

一、场景

JS开发中,例如有些场景下,后端要求一个功能要请求不同的接口,但是传参及后续逻辑其实都是一样的,有些同学可能会想到在接口url处统一处理就好,但是不在本篇文章要讲的范围。在源头处理,动态调用多个方法名,其实也就可以了

二、方法

2.1、动态函数

javascript 复制代码
import { start, startFree } from "@/api/design";

export default {
  methods: {
    // 动态接口
    saveOne() {
	  const fun = !this.isAuth ? startFree : start
	  fun();
    },
    // 动态方法
    fn1() {},
    fn2() {},
    saveTwo() {
	  const fun = !this.isAuth ? 'fn1' : 'fn2'
	  this[`${fun}`]();
    }
  }
}

2.2、eval()函数

比如传入一个 funName这个参数,并且想要执行参数对应的的函数,可以使用eval()函数。

javascript 复制代码
function funName () {
	console.log('11111')
}
const test = 'funName'
// test() // 这样肯定报错
eval(test+'()');

三、最后

本人每篇文章都是一字一句码出来,希望对大家有所帮助,多提提意见。顺手来个三连击,点赞👍收藏💖关注✨,一起加油☕

相关推荐
JarvanMo3 分钟前
天塌了?Flutter工程总监跑去苹果了?
前端
烛阴1 小时前
掌握 TypeScript 的边界:any, unknown, void, never 的正确用法与陷阱
前端·javascript·typescript
Jerry2 小时前
迁移到 Jetpack Compose
前端
FFF-X2 小时前
前端无感刷新 Token 的 Axios 封装方案
前端
qq_589568102 小时前
javaweb开发笔记—— 前端工程化
java·前端
gnip2 小时前
包管理工具的发展
前端
前端工作日常3 小时前
H5 实时摄像头 + 麦克风:完整可运行 Demo 与深度拆解
前端·javascript
韩沛晓3 小时前
uniapp跨域怎么解决
前端·javascript·uni-app
前端工作日常3 小时前
以 Vue 项目为例串联eslint整个流程
前端·eslint
程序员鱼皮3 小时前
太香了!我连夜给项目加上了这套 Java 监控系统
java·前端·程序员