js中将字符串作为函数名来调用的方法

方法:eval()

eg:

<!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>
var slideArr=new Array(
    'slideLeft',
    'slideTop',
    'slideRight',
    'slideBottom',
    'slideLeftTop',
    'slideTopRight',
    'slideRightBottom',
    'slideBottomLeft'
);

function slideRandom(arr=slideArr,width,height,time) {
    var length=slideArr.length;
    var index=Math.floor(Math.random()*length);
    var functionName=slideArr[index];
    //alert(functionName);
    eval(functionName+'(width,height,time)');
}

 

posted @ 2018-11-15 00:13  rqpjuicy  阅读(2673)  评论(0编辑  收藏  举报