我有这段代码..
var test_a = "<?php echo $a ?>"
console.log (test_a);
这显示1.576.21422
是正确的。
但是当我在这里尝试相同的时候,我没有得到我期待的结果..我得到了变量名。
我知道在这个测试中fieldData[0] = 'a'
console.log ("test_" + fieldData[0])
我没有显示1.576.21422而是test_a
有人能指出我正确的方向......谢谢
答案 0 :(得分:2)
因为您正在输出与另一个字符串连接的字符串。您的目标是将结果字符串转换为变量。您可以使变量成为特定对象(或窗口对象)的成员,并使用符号object[ "key" ]
访问该成员的值。
Warning - 即使eval( .... )
可行,我也不建议您使用它。
这应该有效:
window.test_a = "<?php echo $a ?>";
//.....
console.log ( window[ "test_" + fieldData[0] ] );
为避免混淆全局范围,建议采用以下方式:
var myObject = { test_a: "<?php echo $a ?>" };
//.......
console.log ( myObject[ "test_" + fieldData[0] ] );