有没有什么语句的功能和switch是一样的?

昨天在写一个功能的时候觉得自己的代码复用性太差了,所以想问问有没有简洁一点的写法。
总的就是我需要给一个属性赋值,假设这个属性叫做reserveId,这个属性是一个叫做A的对象的属性,接着我需要获取一组值,可以将这一组值在点击不同的按钮时赋值给reserveId,例如我点击button1的时候可以从这一组值的data【1】赋值给reserveId,然后引发一些事情,点击button2的时候可以将data【2】赋值给reserveId,以此类推....
用switch的话就是switch(i){case 1:巴拉巴拉;break;.....case n:巴拉巴拉;break},这样的话,假设我不知道这一组值有几个的时候就不能够用了,只有我知道i的最大值才能行啊???TAT 困扰死我了

子衿沉夜
浏览 410回答 1
1回答

神不在的星期二

从你的描述里可以知道button和这一组值是相互关联的,那么你要做的也是从这个关联性入手来搞。比如说,这一组值的索引和button的索引是相对的,那么用jQ的话(看你加标签了),就可以先用$('button').index()拿到btn的索引缓存起来(比如是var index),然后你就可以以数组下标的形式取到相应的值,比如这一组值是var value=[],那么点击按钮就会触发回调:$(document).on('click', 'button', function (e) { //代理早绑定    var index = $(this).index(); // 拿到索引    reserveId = value[index]; // 赋值});又或者并不是依照索引对应的,那么你可能要稍微麻烦点,把这些值遍历到每个button的data-属性里,触发事件时就可以用$(this).data('xxx')取到相应的值再赋值了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript