gpt4 book ai didi

Javascript对象: Map of Functions.如何返回默认值

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

抱歉这个问题的标题,但我没有找到更好的标题。


简介

我的目标是创建一个对象,并将每个参数关联到一个函数。很简单!

var canIDoThis = {
one: function(a, b, c){},
two: function(a){},
three: function(){}
}

我想用这种方式调用canIDoThis

if(canIDoThis['one'](x, y, z)) {
// do somthing
}

if(canIDoThis['two'](w)) {
// do somthing
}

if(canIDoThis['three']()) {
// do somthing
}

如果我有一个可以是“一”、“二”或“三”的 var,我可以用这种方式使用这个 canIDoThis

// myVariable can be equalso to "one" or "two" or "three"
var myVarable;

if(canIDoThis[myVarable]()) {
// do somthing
}

我的问题

我想管理所有 myVarable 值。现在,如果我调用 canIDoThis['four'](),我显然会得到 Uncaught TypeError: undefined is not a function


我的问题

有没有办法阻止 Uncaught TypeError 的默认行为并返回默认值?如果 canIDoThis['four']() 被解释为 falseundefined

会很可爱

PS:我想用纯 JavaScript 来做这件事;)

最佳答案

在使用 typeof 调用它之前尝试检查该属性是否是一个函数。

if (typeof(canIDoThis[myVarable]) === 'function') {
canIDoThis[myVarable]();
}

关于Javascript对象: Map of Functions.如何返回默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23937370/

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