• js如何将字符串作为函数名调用函数


    js将如何字符串作为函数名调用函数

    一、总结

    一句话总结:用eval来实现。eval可以执行参数字符串。

    二、js将字符串作为函数名调用函数

    比如我现在有一个字符串str = "func_abc",func_abc是一个函数名,我现在知道str如何调用str这个字符串表示的函数.

    思路:


    1、用eval函数,字符串转换为命令行执行都可以通过eval函数。


    2、如果函数不多,可以通过if等方式进行判断,执行不同的分支。


    代码示例:

    function func_abc(){
      alert('a');
    }
    var str = "func_abc";
    eval(str+"()");//执行func_abc()函数



    将其用到实际项目中:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>将字符串作为函数名调用函数</title>
    </head>
    <body>
    <span>指标:</span>
    <select id="zhibiao">
              <option selected="" value="总体">总体</option>
              <option value="queryManagementVolume">办理量</option>
              <option value="queryTimeConsuming">平均耗时</option>
              <option value="queryOvertimePercent">超时占比</option>
    </select>
    </body>
    <script src="../js/jquery.js"></script>
    <script>
    $(document).on("change",'select#zhibiao',function(){
    	    var fn=$(this).val();
    	    /* fn(); */
    	    eval(fn+"()");
    });
    function queryManagementVolume(){
    	console.log("查询办理量");
    }
    function queryTimeConsuming(){
    	console.log("查询平均耗时");
    }
    function queryOvertimePercent(){
    	console.log("查询超时占比");
    }
    
    </script>
    </html>



    三、随机执行函数实例

     1 var slideArr=new Array(
     2     'slideLeft',
     3     'slideTop',
     4     'slideRight',
     5     'slideBottom',
     6     'slideLeftTop',
     7     'slideTopRight',
     8     'slideRightBottom',
     9     'slideBottomLeft'
    10 );
    11 
    12 function slideRandom(arr=slideArr,width,height,time) {
    13     var length=slideArr.length;
    14     var index=Math.floor(Math.random()*length);
    15     var functionName=slideArr[index];
    16     //alert(functionName);
    17     eval(functionName+'(width,height,time)');
    18 }
     
  • 相关阅读:
    winform音频播放器(有声小说[凡人修仙传])
    c# 小小备忘录
    编程语言 : Java的动态Web解决方案泛谈
    服务器 : Apache Tomcat
    荐书 : 调试九法
    框架应用 : Spring MVC
    框架应用 : Spring
    数据库 : Mysql
    框架应用:Mybatis
    String对象的一些函数用法与心得
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9253284.html
Copyright © 2020-2023  润新知