文章目录
- 一、场景
- 二、方法
- 2.1、动态函数
- 2.2、`eval()`函数
- 三、最后
一、场景
在JS
开发中,例如有些场景下,后端要求一个功能要请求不同的接口,但是传参及后续逻辑其实都是一样的,有些同学可能会想到在接口url
处统一处理就好,但是不在本篇文章要讲的范围。在源头处理,动态调用多个方法名,其实也就可以了
二、方法
2.1、动态函数
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()
函数。
function funName () {
console.log('11111')
}
const test = 'funName'
// test() // 这样肯定报错
eval(test+'()');
三、最后
本人每篇文章都是一字一句码出来,希望对大家有所帮助,多提提意见。顺手来个三连击,点赞👍收藏💖关注✨,一起加油☕