swtich/if...else的替代语句
人气:0很多时候,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'
以上就是本文的全部内容了,希望大家能够喜欢。
加载全部内容