此php中的代码在两个变量之间合并,并在“循环”中使用:-
${'var' . $i}
javascript中是否有类似这样的代码? 如果有,有人可以帮助我吗?
谢谢。
答案 0 :(得分:1)
实际上是将其在PHP
中的值/变量进行串联,并创建另一个变量名,然后您尝试获取在串联后形成的变量名的值。
因此,与javascript类似,您可以使用eval
或由于每个根级变量都是window
对象的子代,因此您也可以从window
对象中获得价值。
var Var1 = "Value from Variable 1";
var Var2 = "Value from Variable 2";
//lets say you use some loop or whatsoever to generate the variable name.
//concatenation to generate the bariable name equivalent to 'Var'.$i
var variableName = 'Var' + 1;
//now get the value equivalent to ${VariableName}
//using evel
var value = eval(variableName);
console.log(variableName + ' = ' + value);
variableName = 'Var' + 2;
//now get the value equivalent to ${VariableName}
//using window object
value = window[variableName];
console.log(variableName + ' = ' + value);
我建议使用window[variableName]
,它比eval()
更安全。实际上,eval
试图执行传递给eval
方法作为参数的代码。因此,如果有人通过某些恶意代码,eval
将执行它。而另一种window
方法只是尝试查找与window对象相关联的变量名,因此更安全地使用