javascript - 动态更改变量名称

标签 javascript jquery

var x = [];

$('input').click(function(){
  $(this.value).push('Hello'); //x.push('Hello');
  alert(x) //Expected Result: 'Hello'
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='button' value='x'>

我想将值 Hello 推送到标识符等于被单击按钮的值的标识符的局部变量数组。例如,如果单击带有 value="x" 的按钮,我希望更新 var x = ...。同样,如果单击 value="y",则应更新 var y = ...

这可能吗?

最佳答案

最简单的方法是使用一个对象来包含您的变量。默认情况下,使用 window 对象,但这是不好的做法。您可以自己包装变量,如下所示:

var values = {
  x: [],
  y: [],
  z: []
};

$('input').click(function(){
  values[this.value].push('Hello'); //x.push('Hello');
  alert(values[this.value]) //Expected Result: 'Hello'
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='button' value='x'>
<input type='button' value='y'/>
<input type='button' value='z'/>

关于javascript - 动态更改变量名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49158803/

相关文章:

javascript - 将输入从隐藏更改为文件

javascript - 将 id 与点击元素 id 或动态内容的最简洁父 id 相匹配

javascript - jQuery if 多个 .val 下拉值的条件

javascript - 将数组转换为 JSON

javascript - 如何编写分组算法,通过具有 3 个或更多相似属性对数据集中的项目进行分组

javascript - TH 中的自定义悬停

jquery - 如何编写一个 jQuery 函数,通过一系列元素一次执行一个操作?

javascript - 如何动态更改表格的页面长度

php - 2 个连续的 JQuery 帖子,第二个先执行

javascript - jQuery scrollLeft 在 rtl 方向 - FireFox 和 Chrome 中的不同值