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

flash – 我可以使用带构造函数的apply()来传递任意数量的参数

发布时间:2020-12-15 07:31:25 所属栏目:百科 来源:网络整理
导读:我有一个函数可以接受带有rest运算符的多个参数. 我想创建一个对象将使用rest运算符收集的参数直接传递给构造函数而不创建对象并调用初始化函数并且不传递整个数组但是参数啊我使用apply()函数. 可能吗 ?使用apply不起作用. public function myFunc(...arg)
我有一个函数可以接受带有rest运算符的多个参数.

我想创建一个对象将使用rest运算符收集的参数直接传递给构造函数而不创建对象并调用初始化函数并且不传递整个数组但是参数啊我使用apply()函数.

可能吗 ?使用apply不起作用.

public function myFunc(...arg) {

     // something link "new MyClass.apply(args)"
     return new MyClass();

}

解决方法

很不幸的是,不行.没有办法使构造函数的应用工作.通常做的是根据参数的数量准备一些调用:

public function myFunc(...arg):Myclass {
  switch (arg.length) {
    case 0:return new MyClass();
    case 1:return new MyClass(arg[0]);
    case 2:return new MyClass(arg[0],arg[1]);

    //... etc

    case n:return new MyClass(arg[0],arg[1],..,arg[n]);
    default: throw new Error("too much arguments in myFunc");
  }
}

(编辑:李大同)

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

    推荐文章
      热点阅读