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

网友投稿 195 2023-07-29


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

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

}

确实通俗易懂,http://且写起来好方便,一路都是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'

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Nginx上传文件全部缓存解决方案
下一篇:DEDECMS如何为文章添加HOT NEW标志图片
相关文章

 发表评论

暂时没有评论,来抢沙发吧~