swtich/if...else的替代语句
很多时候,if...else...有很多判断分支选项,就会见到:
if(animal==='dog'){
//TODO'dog'
}elseif(animal==='cat'){
//TODO'cat'
}elseif(animal==='bird'){
//TODO'bird'
}elseif(animal==='fish'){
//TODO'fish'
}else{
//TODO'other'
}
确实通俗易懂,且写起来好方便,一路都是elseif,太多选项分支,就有人用swtich这样写了:
swtich(animal){
case'dog':
//TODO'dog'
break;
case'cat':
//TODO'cat'
break;
case'bird':
//TODO'bird'
break;
case'fish':
//TODO'fish'
break;
default:
//TODO'other'
}
但是,还是可以借鉴使用Object的hash思想:
functiongetAnimalName(name){
varanimals={
'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)();
}
varanimal=getAnimalName('dog');
console.log(animal);//'dog'
以上就是本文的全部内容了,希望大家能够喜欢。