文章目录
- 一、场景
- 二、方法
- 2.1、动态函数
- 2.2、`eval()`函数
- 三、最后
一、场景
在JS
开发中,例如有些场景下,后端要求一个功能要请求不同的接口,但是传参及后续逻辑其实都是一样的,有些同学可能会想到在接口url
处统一处理就好,但是不在本篇文章要讲的范围。在源头处理,动态调用多个方法名,其实也就可以了
二、方法
2.1、动态函数
import { start, startFree } from "@/api/design";export default {methods: {// 动态接口saveOne() {const fun = !this.isAuth ? startFree : startfun();},// 动态方法fn1() {},fn2() {},saveTwo() {const fun = !this.isAuth ? 'fn1' : 'fn2'this[`${fun}`]();}}
}
2.2、eval()
函数
比如传入一个 funName
这个参数,并且想要执行参数对应的的函数,可以使用eval()
函数。
function funName () {console.log('11111')
}
const test = 'funName'
// test() // 这样肯定报错
eval(test+'()');
三、最后
本人每篇文章都是一字一句码出来,希望对大家有所帮助,多提提意见。顺手来个三连击,点赞👍收藏💖关注✨,一起加油☕