加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex如何使用可变数量的参数调用函数?

发布时间:2020-12-15 02:10:27 所属栏目:百科 来源:网络整理
导读:让我们说我有这个课程: package{ import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ trace(getAverage(1,2,3)); trace(getAverage(1,3,4)); trace(getAverage(1,4,5)); } public function getAverage (...numbers)
让我们说我有这个课程:
package{
  import flash.display.Sprite;
  public class Main extends Sprite{
    public function Main(){
        trace(getAverage(1,2,3));
        trace(getAverage(1,3,4));
        trace(getAverage(1,4,5));
    }
    public function getAverage (...numbers) {
      var total = 0;
      for (var i = 0; i < numbers.length; i++) {
        total += numbers [i];
      }
      return total / numbers.length;
    }
  }
}

我如何实现这个“相反”?也就是说,我怎么能用动态数量的参与者来调用’getAverage’?

例如,如果我想做一些喜欢的事情:

var r:int=Math.random()*6;
var a:Array=new Array();
for (i:int=0;i<r;i++) {
  a[i]=Math.random()*22;
}
// Now I have 'r' Number Of Parameters Stored In 'a'
//   How Do I Call getAverage,with all the values in 'a'??
//   getAverage(a) isn't right,is it?
//   I'm looking for something similar to getAverage(a[0],a[1],a[...]);

var av:Number=getAverage(???);

我想知道的是,如果我有一个带有可变数量参数的函数,这很好,但是如果在运行时不知道该数字,我怎么能用可变数量的参数调用它?可能这是不可能的……我只是不确定,因为’callLater’似乎能够采取一个数组并以某种方式从它生成一个动态数量的参数……

注意:仅包含“您为什么要这样做?”的答案将被低估.

附:这不是关于计算平均值!我实现有更简单的方法做所有这一切! (我可以写getAverage来接受单个数组作为它唯一的参数)上面只是一个示例来说明我的问题.如何将动态数量的参数传递给功能?

解决方法

这是你在找什么?
var av:Number = getAverage.apply(null,a);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读