【问题标题】:Javascript variable name based off other variables基于其他变量的 Javascript 变量名
【发布时间】:2014-10-20 15:08:32
【问题描述】:

这更像是一个语法问题,但我无法完全正确地搜索它。

假设我有 2 个变量:

classHours = 127;
currentNumber = 3;

如何根据这些数字命名变量?

假设我想要一个名为

的变量
classHours + "pop_up" + currentNumber 

我该怎么做?

【问题讨论】:

  • 有一些方法可以做到这一点,但它们不是 JavaScript 中普遍接受的做法。你想通过这样做解决什么问题?还有其他更惯用的方法来创建和访问值列表和映射。
  • 通常当你认为你需要做这样的事情时,你会使用数组或对象来代替。
  • 是的,@Pointy 和 Juhana 是对的。尝试在dynamic variable namevariable variable name in javascript 上搜索。 stackoverflow.com/questions/5117127/…
  • 希望对您有所帮助:stackoverflow.com/a/26020014/2324107

标签: javascript jquery


【解决方案1】:

首先,您的变量不能以数字开头,只能以字母和某些特殊字符开头。我相信你想要做的是设置一个全局变量,你可以通过使用 window 对象来做到这一点。我建议创建自己的对象变量并使用它。你会这样做:

var infoObject = {
  classHours: 127,
  currentNumber: 3
}
infoObject['pop_up'+infoObject.classHours+'_'+infoObject.currentNumber] = 'variable contents here';

但是,通常没有理由必须以这种方式创建变量。你到底想完成什么?

【讨论】:

    【解决方案2】:

    您可以将数组与动态变量一起使用,如下所示:

    var dynamicVariables = [];
    
    classHours = 127;
    currentNumber = 3;
    
    dynamicVariables[classHours + "pop_up" + currentNumber] = "Hey!";
    
    alert(dynamicVariables["127pop_up3"]);  // => Hey!
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-10
      • 1970-01-01
      • 2021-02-09
      • 2020-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多