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

查看:88
本文介绍了javascript - 有没有什么语句的功能和switch是一样的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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

解决方案

从你的描述里可以知道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')取到相应的值再赋值了。

这篇关于javascript - 有没有什么语句的功能和switch是一样的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆