swtich/if...else的替代语句_javascript技巧
程序员文章站
2022-05-02 16:34:56
...
很多时候,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'
以上就是本文的全部内容了,希望大家能够喜欢。
推荐阅读
-
分享5个小技巧让你写出更好的 JavaScript 条件语句
-
5个技巧写更好的JavaScript条件语句
-
分享5个小技巧让你写出更好的 JavaScript 条件语句
-
实战技巧:goto语句的替代实现方式
-
js使用for循环及if语句判断多个一样的name_javascript技巧
-
js中for in语句的用法讲解_javascript技巧
-
地址栏上的一段语句,改变页面的风格。(教程)_javascript技巧
-
地址栏上的一段语句,改变页面的风格。(教程)_javascript技巧
-
JavaScript在IE和Firefox上的差异及相互替代的实现方法_javascript技巧
-
在js中使用"with"语句中跨frame的变量引用问题_javascript技巧