gpt4 book ai didi

javascript - "Jump dictionaries",switch 语句,或者如何在没有 eval 的情况下执行 "jump dictionaries"?

转载 作者:行者123 更新时间:2023-11-30 08:07:03 27 4
gpt4 key购买 nike

我喜欢包含键:值的“跳转字典”的概念,其中值是函数。不过,我不确定我是否应该喜欢这个概念。

我想替换一长串 if if-else if 语句。 (我应该使用 switch 语句吗?)

有没有不用eval实现“跳转字典”的方法?(我已经读过这篇关于为什么 eval 不好的文章: Why is using the JavaScript eval function a bad idea?)

使用 eval 的例子

function some_func(arg) { console.log('I am a some func') };
function find_my(arg) { console.log('we are looing for your ' + arg); };

var jump = {
'1' : 'some_func()',
'2' : 'find_my("cat")',
'3' : 'find_my("dog")'
}

eval(jump['3'])
eval(jump['2'])
eval(jump['1'])

谢谢。

最佳答案

使用匿名函数:

var jump = {
"1":some_func,
"2":function() {find_my("cat");},
"3":function() {find_my("dog");}
}

现在你可以调用:

jump["3"]();
jump["2"]();
jump["1"]();

关于javascript - "Jump dictionaries",switch 语句,或者如何在没有 eval 的情况下执行 "jump dictionaries"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16620504/

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