[英]Use variable's value as variable in javascript
我有一个带值的变量,比方说
var myVarMAX = 5;
在 HTML 中,我有一个id="myVar"
元素。
我将id
与字符串 MAX 结合起来(创建一个字符串myVarMAX
)。 我的问题是如何使用此字符串访问同名变量?
您可以使用 eval,但如果您在窗口范围内有 var,这会更好
var myVarMAX = 5;
var id="MAX"; // likely not in a var
alert(window["myVar"+id]); // alerts 5
更好的解决方案类似于我发布的链接中的建议
var myVars = {
"myVarMin":1,
"myVarMax":5,
"otherVarXX":"fred"
} // notice no comma after the last var
那么你有
警报(myVars[“myVar”+id]);
由于这篇文章经常被引用,我想添加一个用例。
可能经常是 PHP 程序员在尝试 Javascript/Nodejs 时遇到了这个问题。
// my variables in PHP
$dogs = [...]; //dog values
$cats = [...]; //cat values
$sheep = [...]; //sheep values
假设我想将它们各自保存在自己的文件(dogs.json、cats.json、sheep.json)中,而不是同时保存,而不创建 savedogs、savecats、savesheep 等函数。 一个示例命令是save('dogs')
在 PHP 中它是这样工作的:
function save($animal) {
if(!$animal) return false;
file_put_contents($animal.'.json', json_encode($$animal));
return true;
}
在 Nodejs/Javascript 中,它可以像这样完成
// my variables in NodeJS/Javascript
let dogs = [...]; //dog values
let cats = [...]; //cat values
let sheep = [...]; //sheep values
function save(animal) {
if (!animal) return false;
let animalType = {};
animalType.dogs = dogs;
animalType.cats = cats;
animalType.sheep = sheep;
fs.writeFile(animal + '.json', JSON.stringify(animalType[animal]), function (err){
if (err) return false;
});
return true;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.