gpt4 book ai didi

javascript 使用 var 值作为新 var 的名称

转载 作者:行者123 更新时间:2023-11-29 16:13:09 26 4
gpt4 key购买 nike

如何使用数组键(文本值)来引用具有相同名称的变量?

jsFiddle

var cr,au,gen,bn,fmt,str;
var sbASCtrls = {"cr":"ContentRating","au":"Gold","gen":"Gender","bn":"Big Number","fmt":"Format","str":"Starting String"};

for (var key in sbASCtrls){

//This does not work ... breaks script
"'"+key+"'" = sbASCtrls[key];

alert('var CR: ' + cr);
return false;
}

在另一种语言中,我会简单地用百分号包围 var 名称,因此:

var %key% = "bob";

会:

var cr = bob;

这如何在 javascript 中完成?


为什么我需要这个不寻常的解决方案:

正在对一个预先存在的 PHP 处理器文件进行一系列 AJAX 调用,该文件需要 HTML 中的所有数据。在这种情况下,我已经拥有 JSON/jsObj 格式的数据,并希望快速将其分解为单独的变量。最有效/可读(信不信由你!)的代码是通过使用 eval() 实现的。阅读 Jonathan 和 Niet 的帖子/评论后,我为如何将数据保存为 JSON 格式并像那样使用它而苦恼,但 AJAX 处理器总是需要一份 HTML 格式的数据。令我失望的是,我无法找到混合这两种数据类型的方法。面对重新编码整个应用程序以仅使用 JSON 或继续使用 HTML 的选择,SDLC 为我做出了决定。

感谢 Niet、Jonathan、Cristy、Stephen Thomas 和 Fallenreaper 提供的中肯建议和绝妙想法。我将确定你们各自发布的其他帖子的范围。

最佳答案

虽然您可以像这样使用eval:

// DO NOT DO THIS
eval(key+" = svASCtrls[key];");

您或许应该停下来问问自己,您最初为什么要这样做。您已经有了一个非常整洁的对象,所以只需使用它...

关于javascript 使用 var 值作为新 var 的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22360919/

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