js中函数动态调用

文章目录

  • 一、场景
  • 二、方法
    • 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+'()');

js中函数动态调用_第1张图片

js中函数动态调用_第2张图片

三、最后

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

你可能感兴趣的:(JS,javascript,前端)