很多時候,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'
以上就是本文的全部內容了,希望大家能夠喜歡。