我一直在想这个问题:在as3中,当你调用一个方法或一个函数时,你以这种方式传递参数:
方法(参数 1,参数 2);
但是当你的方法需要一堆它们时会发生什么?而不是像这样传递它们:method(p1,p2,p3,p4,p5,p6,p7,p8);
更好的方法是创建一个包含所有这些参数的模型对象,然后您只需传递整个模型:
model : Model = new Model();
model.p1 = "something";
model.p2 = "another something";
...
method(model);
这样,您可以确保使用正确数量和类型的参数调用 method()。还要避免使用大量参数。
但是,当使用 JS 回调时,会出现两个问题:传递整个参数列表:method(..., p8);一如既往地是一种不好的方法,但至少我有一种严格的方法来强制使用正确的参数调用回调。另一种解决方案是传递一个模型,但我不能从 js 传递一个定义的 as3 对象,我能做的最多就是传递一个 js 对象:
$("as3Component").as3Callback({p1 : "something", p2 : "another something"});
从 as3 开始:
as3Callback(params : Object)
{
trace(params.p1);
}
但是,我不能有一个严格的方法来知道我可以接收到哪些参数,所以 Object 可以包含任何东西。
所以我的问题是,将大量参数从 js 传递到 as3 的最佳方法是什么,而不需要一个带有大量参数的方法,也没有这个可以包含任何属性的“神奇”对象。谢谢!。