在 PHP 中,我可以拥有:
$theVariable = "bigToe";
$bigToe = "is broken";
这样:
echo "my ".$theVariable." ".$$theVariable;
会显示
my bigToe is broken
我将如何在 JavaScript 中做类似的事情?
在 PHP 中,我可以拥有:
$theVariable = "bigToe";
$bigToe = "is broken";
这样:
echo "my ".$theVariable." ".$$theVariable;
会显示
my bigToe is broken
我将如何在 JavaScript 中做类似的事情?
这里有一篇关于 JavaScript 中的动态变量的很好的文章:
http://www.hiteshagrawal.com/javascript/dynamic-variables-in-javascript
我会使用window
数组而不是eval
:
var bigToe = "big toe";
window[bigToe] = ' is broken';
alert("my " + bigToe + window[bigToe]);
简单地
eval("variableName")
尽管您必须确保您知道评估的确切值,因为如果您传递不受信任的内容,它可以用于脚本注入
一种方法是使用eval
函数
var theVariable = "bigToe";
var bigToe = "is broken";
console.log('my '+theVariable+' '+eval(theVariable));
另一种方法是使用window
对象,它保存每个全局变量的键值对。它可以作为数组访问:
var theVariable = "bigToe";
var bigToe = "is broken";
console.log('my '+theVariable+' '+window[theVariable]);
这两种方法都将答案打印到 Firebug 控制台。