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>
三、随机执行函数实例
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)');
}
js如何将字符串作为函数名调用函数的更多相关文章
- 066-PHP通过函数名调用函数
<?php function hello(){ //定义函数 echo '<br />Hello!<br />'; } function hellophp(){ //定义 ...
- JS 字符串对象 数组对象 函数对象 函数作用域
一.内置对象 object对象:ECMAScript 中的所有对象都由这个对象继承而来:Object 对象中的所有属性和方法都会出现在其他对象中 ToString() : 返回对象的原始字符串表示.V ...
- js数组,字符串,json互相转换函数有哪些
js数组,字符串,json互相转换函数有哪些 一.总结 一句话总结: JSON.stringify(arr) JSON.parse(jsonString) str.split('') array.jo ...
- Js中常用的字符串,数组,函数扩展
由于最近辞职在家,自己的时间相对多一点.所以就根据prototytpeJS的API,结合自己正在看的司徒大神的<javascript框架设计>,整理了下Js中常用一些字符串,数组,函数扩展 ...
- JS判断一个字符串是否包含一个子串函数.
微信小程序 JS判断一个字符串是否包含一个子串函数. //str 字符串,name子串 contains:function(str,name){ if(str.indexOf( ...
- js课程 3-10 js中字符串函数数组函数和其它语言中对应函数的区别和联系是什么
js课程 3-10 js中字符串函数数组函数和其它语言中对应函数的区别和联系是什么 一.总结 一句话总结:js中是对象点方法的形式,这些方法都是对象的方法,而在php.java中却不是这样. 1.j ...
- js:把字符串转为变量使用; js下将字符串当函数去执行的方法
1 把字符串当变量使用 通过计算 string 得到的值(如果有的话).该方法只接受原始字符串作为参数 demo: var type = "car"; var newStr = & ...
- 《JS权威指南学习总结--8.7 函数属性、方法和构造函数》
内容要点: 在JS程序中,函数是值.对函数执行typeof运算会返回字符串 "function",但是函数是JS中特殊的对象.因为函数也是对象,它们也可以拥有属性和方法,就像普 ...
- js中escape对应的C#解码函数 UrlDecode
js中escape对应的C#解码函数 System.Web.HttpUtility.UrlDecode(s),使用过程中有以下几点需要注意 js中escape对应的C#解码函数 System.We ...
随机推荐
- [Angular & Unit Testing] Testing a RouterOutlet component
The way to test router componet needs a little bit setup, first we need to create a "router-stu ...
- UVA - 10167 - Birthday Cake (简单枚举)
思路:简单枚举 AC代码: #include <cstdio> #include <cstring> #include <iostream> #include &l ...
- Makefile 文件格式
Makefile包含 目标文件.依赖文件.可运行命令三部分. 每部分的基本格式例如以下: test: prog.o code.o gcc -o test prog.o code.o 当中 ...
- php7 兼容 MySQL 相关函数
php7 兼容 MySQL 相关函数 PHP7 废除了 ”mysql.dll” ,推荐使用 mysqli 或者 pdo_mysql http://PHP.net/manual/zh/mysqlinfo ...
- dropdown下拉菜单
<!--声明方式的下拉菜单:三个要点--> <!--1 外围容器用dropdown包裹--> <!--2 内部点击事件data-toggle--> <!--3 ...
- BZOJ2738: 矩阵乘法(整体二分)
Description 给你一个N*N的矩阵,不用算矩阵乘法,但是每次询问一个子矩形的第K小数. Input 第一行两个数N,Q,表示矩阵大小和询问组数: 接下来N行N列一共N*N个数,表示这个矩阵: ...
- windows服务插件利器-新生命组件XAgent使用心得
1.简单介绍 XAgent为大石头带领下的新生命团队自己开发的一个.Net下的常用的Windows服务管理组件利器,通过在控制台中简单的输入1,2,3,4,5等数字可以实现一步安装.卸载Windows ...
- 【Oracle错误集锦】:PLSQL无法直连64位Oracle11g数据库
背景:Oracle数据库装在本机上,使用PLSQL连接. 今天安装完Oracle 11g数据库后.用plsql连接数据库死活都连接不上.而且plsql客户端登录窗体的Database下拉框还为空.见下 ...
- POJ--1753--Flip Game【DFS】
链接:http://poj.org/problem? id=1753 题意:一个4*4的方格,有白棋或者黑棋.每次操作是一个位置的颜色翻转,即白变黑.黑变白,而且与它相邻的四个位置的颜色也都跟着改变, ...
- SQL server 2012 安装SQL2012出现报错: 启用 Windows 功能 NetFx3 时出错
在window server 2012服务器上,安装 SQL Server 2012的过程中,报了一个错误,一个安装失败, 在安装SQL 2012的过程中.出现下面错误:启用 Windows 功能 N ...