gpt4 book ai didi

javascript - 如何在JS中动态引用函数和变量

转载 作者:行者123 更新时间:2023-11-30 21:17:59 26 4
gpt4 key购买 nike

在这里问了几个问题并确认 js 不传递引用,只传递值之后,问题就变成了,你如何进行动态决策。让我解释。现在我在创建的复杂形式中使用了许多 switch 语句。但我想创建一个包含许多对象的数组,这些对象包含要满足的条件和要执行的变量或函数。我现在实现此目的的方法是以纯文本命名变量并在括号中执行它,如下所示: this[nameofvar] = false 其中“nameofvar”是数组对象中的字符串存储。这对我来说在很多层面上都很糟糕而且很老套。

那么你是怎么做到的呢?

最佳答案

您可以考虑用对象文字替换 switch 语句。看看 Todd motto 写的这个例子, 取自他的 article on this concept - 我发现这真的很有帮助,我现在更喜欢用这种方式处理复杂的条件逻辑。

注意调用方法的方式:(obj[key] || obj['default'])();即,如果键存在,则使用键定义的方法,或者回退到默认值。因此调用两者的第一个真值 (func)();

function getDrink (type) {
var drink;
var drinks = {
'coke': function () {
drink = 'Coke';
},
'pepsi': function () {
drink = 'Pepsi';
},
'lemonade': function () {
drink = 'Lemonade';
},
'default': function () {
drink = 'Default item';
}
};

// invoke it
(drinks[type] || drinks['default'])();

// return a String with chosen drink
return 'The drink I chose was ' + drink;
}

var drink = getDrink('coke');
// The drink I chose was Coke
console.log(drink);

关于javascript - 如何在JS中动态引用函数和变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45473442/

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