js如何通过变量名调用函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js如何通过变量名调用函数相关的知识,希望对你有一定的参考价值。

比如:
function SetDataStyle (curNumber,totalNumber,style)
var func = 'SetStyle'+style;
//? func(curNumber,totalNumber);


function SetStyle0(curNumber,totalNumber)

function SetStyle1(curNumber,totalNumber)
我希望当用户传入style=0时调用SetStyle0,依次类推,怎么处理呢?

需要准备的材料分别是:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html,填充基础代码。

2、在index.html的<script>标签中,输入js代码:eval(func + '()');。

3、浏览器运行index.html页面,此时会看到传入不同的style确实能调用到不同的SetStyle函数来打印。

参考技术A function SetDataStyle(curNumber, totalNumber, style)
var func = \'SetStyle\' + style;
// 所以你可以用window[方法名](参数)的方式调用;
window[func](curNumber, totalNumber);

// 这个方法会加到window对象下面
function SetStyle0(curNumber, totalNumber)
alert(\'SetStyle0\');

// 这个方法会加到window对象下面
function SetStyle1(curNumber, totalNumber)
alert(\'SetStyle1\');

SetDataStyle(1, 1, 0);

本回答被提问者采纳
参考技术B <script>
function a(number)
eval("a"+number+"()");

function a0()
alert("OK!");

a(0);
</script>

你好,可以用eval().请测试~

参考技术C 将变量名绑定上函数就可以了
fucntion a() alert(1);
var b = a();
参考技术D function SetDataStyle (curNumber,totalNumber,style)
var func = 'SetStyle'+style;
var f = eval(func);
f(curNumber,totalNumber);

以上是关于js如何通过变量名调用函数的主要内容,如果未能解决你的问题,请参考以下文章

js函数定义和调用

关于js中函数的调用问题

JS通过函数名调用函数

jsp页面函数中如何获取sevlet传过来的List

JS基础自定义函数

js冲突怎么解决