javascript - 有没有办法通过选择将 "suffix"附加到 javascript 函数?

标签 javascript function select

我不知道这到底叫什么,也不知道它是否可能。但基本上我想向“不完整”的方法添加内容。例如。

captureDog =()=>{
  alert('caught dog');
}

captureCat =()=>{
  alert('caught cat');
}

<select id="pet">
   <option value="Cat">cat</option>
   <option value="Dog">dog</option>
</select>

本质上我有一大堆捕获方法(我要么自己硬编码编写它们,要么创建另一个创建它们的方法)。我本质上想根据选择上的值来调用不同的方法(表现为方法的后缀)。我有一些虚拟代码正在尝试执行下面我所说的操作。

var selectField = document.getElementById("pet");
selectField.addEventListener("onchange", "capture"+ selectField.value ="()");

我希望只使用简单的 javascript 来完成此操作。

编辑:语法 EDIT2:固定箭头功能

最佳答案

我认为是这样的:

var selectField = document.getElementById("pet");

let X = {
    cat: function(){
    console.log("cat 123")
  },
    dog: function(){
    console.log("dog 123")
  }
}

selectField.addEventListener("change", x => {
let val = x.target.options[x.target.selectedIndex].value

X[val]();

});

fiddle :https://jsfiddle.net/5rnke6zy/10/

关于javascript - 有没有办法通过选择将 "suffix"附加到 javascript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51639245/

相关文章:

javascript - 数组中一系列数字的总和

javascript - 使用javascript翻转文本

javascript - 有没有办法在js中将特定参数传递给函数(无顺序)?

mysql - 将搜索到的大小写转换为其他简单大小写

javascript - 如何通过复杂的规则对表格进行排序

javascript - 在javascript中将innerHTML字符串转换为DOM结构

python - 如何使用返回绘图的函数创建 3D 绘图?

php - 我无法在 php 中多次执行相同的函数

javascript - 更改选择元素?

mysql - 从 left join 获取所有用户 id