JS中比Switch...Case更優(yōu)雅的多條件判斷寫(xiě)法
前言
前幾天,本人負(fù)責(zé)編寫(xiě)網(wǎng)站上線的環(huán)境判斷功能,其中涉及到大量多條件判斷的code。對(duì)于多條件判斷寫(xiě)法,大部分程序員都是采用if...else if...else或者switch...case的寫(xiě)法,但是有一種多條件判斷寫(xiě)法,比傳統(tǒng)寫(xiě)法更加有趣且優(yōu)雅——對(duì)象屬性判斷法。
實(shí)例展示
廢話不多說(shuō)了,下面直接用三個(gè)實(shí)例,給大家分別展示三種不同的多條件判斷寫(xiě)法。
1. if...else if...else
function whatFood(mealtime) {
let food = '';
if (mealtime === 'breakfasttime') {
food = 'egg';
} else if (mealtime === 'lunchtime') {
food = 'vegetable'
} else if (mealtime === 'dinnertime') {
food = 'fruit'
} else {
food = 'cookie'
}
return food;
}
2. switch...case
function whatFood(mealtime) {
let food = '';
switch (mealtime) {
case 'breakfasttime':
food = 'egg';
break;
case 'lunchtime':
food = 'vegetable';
break;
case 'dinnertime':
food = 'fruit';
break;
default:
food = 'cookie';
}
return food;
}
3. 對(duì)象屬性判斷法
function whatFood(mealtime) {
const food = {
breakfasttime: 'egg',
lunchtime: 'vegetable',
dinnertime: 'fruit'
}
return food[mealtime] ? food[mealtime] : 'cookie';
}
總結(jié)
相信你通過(guò)上面三個(gè)實(shí)例,已經(jīng)看到了不同寫(xiě)法孰優(yōu)孰劣,如果你有更好的多條件判斷寫(xiě)法,歡迎留言討論,祝工作順利,生活愉快。
好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
詳解js幾個(gè)繞不開(kāi)的事件兼容寫(xiě)法
本篇文章主要介紹了詳解js幾個(gè)繞不開(kāi)的事件兼容寫(xiě)法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
js實(shí)現(xiàn)獲取焦點(diǎn)后光標(biāo)在字符串后
這篇文章主要介紹了js實(shí)現(xiàn)獲取焦點(diǎn)后光標(biāo)在字符串后,原理就是獲得焦點(diǎn)后重新把自己復(fù)制粘帖一下,喜歡的朋友可以看看2014-09-09
關(guān)于JS控制代碼暫停的實(shí)現(xiàn)方法分享
關(guān)于JS控制代碼暫停的工作總結(jié),需要的朋友可以參考下2012-10-10
微信小程序組件復(fù)用機(jī)制behaviors示例詳解
小程序的 behaviors方法是一種代碼復(fù)用的方式,可以將一些通用的邏輯和方法提取出來(lái),然后在多個(gè)組件中復(fù)用,從而減少代碼冗余,提高代碼的可維護(hù)性,這篇文章主要介紹了微信小程序組件復(fù)用機(jī)制behaviors示例詳解,需要的朋友可以參考下2025-02-02
javascript 刪除數(shù)組元素和清空數(shù)組的簡(jiǎn)單方法
這篇文章主要介紹了javascript 刪除數(shù)組元素和清空數(shù)組的簡(jiǎn)單方法的相關(guān)資料,需要的朋友可以參考下2017-02-02
js中settimeout方法加參數(shù)的使用實(shí)例
這篇文章主要介紹了js中settimeout方法加參數(shù)的使用,需要的朋友可以參考下2014-02-02

