Javascript - 变量值是另一个变量的名称

标签 javascript variables

我有一组已定义的变量。我动态地为另一个变量设置一个值,该变量最终成为其他已定义变量之一的名称。我想这样做,以便我知道何时在页面上使用哪个设置的变量。

var mwm = "blah"
var vp = "bleh"
var am = "bluh"

var mwm720 = "some link 1"
var mwm717 = "some link 2"
var vp720 = "some link 3"
var vp717 = "some link 4"
...

然后我运行了一些其他脚本,并根据条件将变量值设置为其他变量之一的名称。

var myClass = $(this).attr("class").split(' ')[1];
var currDiv = "div." + myClass;
var currVersion = $(this).parent().attr("id");
var linkVers = myClass + currVersion;

linkVers 变量值最终总是“mwm720”、“mwm717”、“vp720”等。这就是我如何知道何时使用 mwmw720 或 mwm717(等)变量。

期望的行为

如何获得警报/调用以使用存储在动态变量中的变量名称的值?

假设 alert(linkVers); 返回“mwm720”。如何让 $(currDiv).html(linkVers); 插入 mwm720 变量的(这将是“某个链接 1”),而不是变量的名称?

如果有更好的方法来尝试完成此行为,我肯定会考虑其他解决方案。

最佳答案

您应该将所有变量放在 1 个对象中。喜欢:

var messsages = {
    wm : "blah",
    p : "bleh",
    m : "bluh",

    wm720 : "some link 1",
    wm717 : "some link 2",
    p720 : "some link 3",
    p717 : "some link 4"
}

然后在你的函数中你可以使用

alert(messages[linkVers]);

关于Javascript - 变量值是另一个变量的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14405252/

相关文章:

javascript - 如何使用自动 browserify+uglify 为浏览器提供 Node.js 代码

javascript - 使用 url 通过 javascript 访问 CGI

静态变量的Java赋值++

bash - 从YouTube GData API检索随机视频

variables - 是否可以修改 let 绑定(bind)?

javascript - 错误 : EMFILE: too many open files

php - encodeURIComponent 和 mysql_real_escape_string

javascript - 使用 CSS 或 jQuery 搜索并突出显示文本背景

variables - 批处理文件等到我在设置 b= 时按回车

variables - 批处理文件无法在 IF 子句中设置变量