数组作为函数参数

时间:2012-01-12 12:05:53

标签: javascript arrays actionscript-3 function

我有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而不是[。然后我试图用来自firebug的相同参数调用相同的函数,并且函数输出:

doCall(["3011","3012","3013","3014","3015"]);
["3011","3012","3013","3014","3015"]
3011

我的问题是如何将params从actionscript传递给javascript作为数组而不是字符串值。

感谢。

2 个答案:

答案 0 :(得分:1)

看起来params变量是作为字符串传入的,而不是数组。

方括号表示法在应用于字符串时表示所提供索引处的字符,在本例中为'['(位置0)。

您应该查看JSON解码以找到将字符串转换回数组的安全方法,我不建议使用eval,并且JSON.decode不受广泛支持。

答案 1 :(得分:0)

您是否尝试将数组封装在另一个数组中?

ExternalInterface.call(“doCall”,[jsParams]);

我认为初始数组是可以传递多个参数集