A5下载文章资讯

分类分类

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

2015-08-16 14:08作者:fang

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

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

展开全部

相关

说两句网友评论
    我要跟贴
    取消