LayaBox:如何简单的批量操作相似的对象,去调用相同的方法

繁杂代码:

var index=4;
while (index--) {
      switch (index) {
          case 0:
          this.spot0.showPoint(index);
          break;
          case 1:
          this.spot1.showPoint(index);
          break;
          case 2:
          this.spot2.showPoint(index);
          break;
          case 3:
          this.spot3.showPoint(index);
          break;
     }      
}

可以发现:对象this.spot0 , 对象this.spot1 , 对象this.spot2 , 对象this.spot3有相同部分,同时最后一个是数字且有序


简洁代码(方法一):通过方括号拼接对象名

var index=4;
while (index--) {
     this["spot"+index].showPoint(index);
}

发现:通过[ ]来获取对象,批量处理对象名字有序的对象优点很明确
缺点:通过[ ]获取的对象,当你想去找方法showPoin()时,提示该方法是未定义的,维护性差一点


简洁代码(方法二):通过数组存储对象

var starItems:Array<any> = [this.spot0,this.spot1,this.spot2,this.spot3];
var index=4;
while (index--) {
    starItems[index].showPoint(index);
}

缺点:通过数组存储对象,当你想去找方法showPoin()时,提示该方法是未定义的,维护性差一点

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,153评论 25 708
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,457评论 2 59
  • 文|言禾雨 下雨了,记得把窗台上的紫罗兰收进屋 下班前,贾先生打来电话,他用惯常的语气跟我说他晚上会有应酬,并且对...
    言禾雨阅读 692评论 4 8
  • 。长鼻子,艾德蒙常年居住在狼谷,这个星期天,他拿着一把刀,离开了森林深处的家,他想痛痛快快的吃上一顿兔子大餐,哦,...
    孤勇白犀牛阅读 692评论 0 0
  • sonar是一个代码质量管理平台,根据规则对代码进行静态检查,对保证工程的代码质量很有帮助 sonar5.5是最后...
    江江的大猪阅读 371评论 0 1

友情链接更多精彩内容