gpt4 book ai didi

Javascript 将字符串转换为函数调用

转载 作者:行者123 更新时间:2023-11-28 15:55:39 28 4
gpt4 key购买 nike

我有以下场景,我需要根据 html 元素的数据属性调用函数。

function func1(arg1){
alert("func1");
}

function func2(arg2){
alert("func2");
}

jQuery(document).on('click', '.func-class', function(){
var funcName = jQuery(this).data('func-name');
var funcArg = jQuery(this).data('func-arg');
//Need to call funcName(funcArg) here
});

HTML:

<div data-func-name="func1" data-func-arg="arg1" class="func-class">Func1</div>
<div data-func-name="func2" data-func-arg="arg2" class="func-class">Func2</div>

JSFiddle 相同: http://jsfiddle.net/E4HeT/

最佳答案

如果这些函数是在全局范围内定义的,您可以这样做:

window[funcName](funcArg);

否则,我建议将它们放入像这样的对象中:

var functions = {
"func1":func1,
"func2":func2
};
functions[funcName](funcArg);

第二个实际上更安全,因为它有助于防止任意代码执行。

关于Javascript 将字符串转换为函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18955501/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com