解决不想老是给函数起名字 通过switch

就是通过Vue开发时遇到的一个问题。
因为我不怎么喜欢起名字,我就把所有的处理函数都指向了同一个函数,然后都会传递一个case参数指做不同的事。
代码示例:

<div @click="_click( { case:1 , name:'XXX' } )"> 打印name </div>
<div @click="_click( { case:2 } )"> 打印被点击 </div>

methods:{
  _click( obj ){
      switch( obj.case ){
          case 1:
            console.log( obj.name );
            break;
          case 2:
            console.log( "被点击" );
            break;
      }
  }
}

大概就是这样,就是想问一下会不会有什么性能问题或者啥问题的?

普通的

img

Switch格式的

img

最大的问题是你的_click函数如果业务复杂的话会非常庞大,到后来会演变成:
1)出现BUG不好调试,难以快速定位问题;
2)接手的人几乎维护不了这个代码,会非常复杂;
3)可服用性相对还是稍差了点,另外一个业务中用到了几乎相同的代码,只有少部分不一样,那是准备拷贝一份过去么....

等等问题,应该还有很多,个人建议还是不要这么写....

最好还是封装为独立的函数,方便重复利用,也便于调试错误。

好想法!

case值必须是唯一的,实质上还是在起名字。用数字代替的话就不能重复数字了。

既然你这么爱写case 1,case 2,case 3
那你为什么不把函数名字叫做fun1,fun2,fun3呢
这样至少接手你代码的人可以把它们简单修改个名字就好,而不用把你每个case重新单独拆开来