swtich/if...else的替代语句
2015-08-16 00:00
561 查看
很多时候,if...else...有很多判断分支选项,就会见到:
if (animal === 'dog') { // TO DO 'dog' } else if (animal === 'cat') { // TO DO 'cat' } else if (animal === 'bird') { // TO DO 'bird' } else if (animal === 'fish') { // TO DO 'fish' } else { // TO DO 'other' }
确实通俗易懂,且写起来好方便,一路都是else if,太多选项分支,就有人用swtich这样写了:
swtich (animal) { case 'dog': // TO DO 'dog' break; case 'cat': // TO DO 'cat' break; case 'bird': // TO DO 'bird' break; case 'fish': // TO DO 'fish' break; default: // TO DO 'other' }
但是,还是可以借鉴使用Object的hash思想:
function getAnimalName(name) { var animals = { 'dog': function () { return 'dog'; }, 'cat': function() { return 'cat'; }, 'bird': function() { return 'bird'; }, 'fish': function() { return 'fish'; }, 'default': function() { return 'other'; } }; return (animals.name || animals.default)(); } var animal = getAnimalName('dog'); console.log(animal);// 'dog'
以上就是本文的全部内容了,希望大家能够喜欢。
相关文章推荐
- javascript中undefined与null的区别
- javascript中 try catch用法
- oracle误drop/update操作后的数据恢复测试
- 程序员面试经历
- 解决PHPCMS使用ueditor时缩略图上传问题
- matlab调用CVX工具包
- IPthon安装(Windows)
- Sublime Text 3 快捷键(windows)
- 设置ubuntu ramdisk
- openbox在ubuntu下安装及配置
- 我的ubuntu软件源
- 在ubuntu中配置java环境变量遇到的一些问题
- 分布式系统的基础知识
- javascript prototype笔记(其一)
- java web调试错误笔记(更新中)
- mac下 搭建Cordova+ionic+AngularJs开发环境
- 今天在网上求职,发现云南省思普投资有限公司居然是这么坑的一个公司,幸好没去
- 我的创业经历
- 修改mysql用户密码
- UEditor使用技巧(2):自定义样式