我有Flash应用程序,该应用程序创建数组并调用javascript函数。
var jsParams = ["3011","3012","3013","3014","3015"];
ExternalInterface.call("doCall", jsParams);
这是我的javascript函数:
function doCall(params) {
console.log(params);
console.log(params[0]);
}
萤火虫的输出为:
["3011","3012","3013","3014","3015"]
[
但是对于第二行,我期望3011而不是[。然后我试图从萤火虫中调用具有相同参数的相同函数,并输出以下函数:
doCall(["3011","3012","3013","3014","3015"]);
["3011","3012","3013","3014","3015"]
3011
我的问题是如何将参数从动作脚本传递给javascript,而不是作为字符串值。
谢谢。
最佳答案
看起来params
变量是作为字符串而不是数组传递的。
当将方括号符号应用于字符串时,它表示所提供索引处的字符,在这种情况下,该字符将为'['(位置0)。
您应该研究JSON解码,以找到一种将字符串转换回数组的安全方法,我不推荐eval
,并且JSON.decode
不受广泛支持。