AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > JavaScript

swtich/if...else的替代语句

51自学网 http://www.wanshiok.com
swtich,if...else,object

很多时候,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'

以上就是本文的全部内容了,希望大家能够喜欢。


swtich,if...else,object  
上一篇:javascript中undefined与null的区别  下一篇:javascript数组去重的六种方法汇总