js中函数动态调用

2024-01-03 11:43:18

一、场景

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+'()');

三、最后

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

文章来源:https://blog.csdn.net/u012804440/article/details/135358650
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。