【发布时间】:2012-09-11 22:41:12
【问题描述】:
我的代码sn-p:
function receive(mag)
{
var text = eval(mag);
alert(text);
}
receive('["magnolia,", ["Magnolia (Flower)"], [], [], [], [], [], [[3, 19019, "INV_MAG_39 ", 5]]]');
当我在示例中传递字符串时(如上所示),eval(mag) 不起作用。
但如果我直接这样做:
function receive(mag)
{
var text = eval('["magnolia,", ["Magnolia (Flower)"], [], [], [], [], [], [[3, 19019, "INV_MAG_39 ", 5]]]');
alert(text);
}
确实有效。 有谁知道出了什么问题/我怎样才能让它与传递的变量一起工作?
【问题讨论】:
-
“行不通”是什么意思?第一个版本实际上发生了什么? (您是否在控制台中遇到任何错误?)
-
不行,别再用
eval()了。 -
尝试使用
JSON.parse而不是eval。 -
因为 eval 会在字符串中执行 anything ,而且因为它只对 eval 外部数据有意义,所以它可能非常危险。
-
你的代码在这里工作:jsfiddle.net/HvrzK
标签: javascript eval