1.if/else
2.switch
3.一元判断时:存到Object里
4.一元判断时:存到Map里
5.多元判断时:将condition拼接成字符串存到Object里
6.多元判断时:将condition拼接成字符串存到Map里
7.多元判断时:将condition存为Object存到Map里
8.多元判断时:将condition写作正则存到Map里
const onButtonClick = (status)=>{
if(status == 1){
sendLog('processing')
jumpTo('IndexPage')
}else if(status == 2){
sendLog('fail')
jumpTo('FailPage')
}else if(status == 3){
sendLog('fail')
jumpTo('FailPage')
}else if(status == 4){
sendLog('success')
jumpTo('SuccessPage')
}else if(status == 5){
sendLog('cancel')
jumpTo('CancelPage')
}else {
sendLog('other')
jumpTo('Index')
}
}
const onButtonClick = (status)=>{
switch (status){
case 1:
sendLog('processing')
jumpTo('IndexPage')
break
case 2:
case 3:
sendLog('fail')
jumpTo('FailPage')
break
case 4:
sendLog('success')
jumpTo('SuccessPage')
break
case 5:
sendLog('cancel')
jumpTo('CancelPage')
break
default:
sendLog('other')
jumpTo('Index')
break
}
}
const actions = {
'1': ['processing','IndexPage'],
'2': ['fail','FailPage'],
'3': ['fail','FailPage'],
'4': ['success','SuccessPage'],
'5': ['cancel','CancelPage'],
'default': ['other','Index'],
}
const onButtonClick = (status)=>{
let action = actions[status] || actions['default'],
logName = action[0],
pageName = action[1]
sendLog(logName)
jumpTo(pageName)
}
const actions = new Map([
[1, ['processing','IndexPage']],
[2, ['fail','FailPage']],
[3, ['fail','FailPage']],
[4, ['success','SuccessPage']],
[5, ['cancel','CancelPage']],
['default', ['other','Index']]
])
const onButtonClick = (status)=>{
let action = actions.get(status) || actions.get('default')
sendLog(action[0])
jumpTo(action[1])
}
const onButtonClick = (status,identity)=>{
if(identity == 'guest'){
if(status == 1){
}else if(status == 2){
}else if(status == 3){
}else if(status == 4){
}else if(status == 5){
}else {
}
}else if(identity == 'master') {
if(status == 1){
}else if(status == 2){
}else if(status == 3){
}else if(status == 4){
}else if(status == 5){
}else {
}
}
}
const actions = new Map([
['guest_1', ()=>{
}],
['guest_2', ()=>{
}],
['guest_3', ()=>{
}],
['guest_4', ()=>{
}],
['guest_5', ()=>{
}],
['master_1', ()=>{
}],
['master_2', ()=>{
}],
['master_3', ()=>{
}],
['master_4', ()=>{
}],
['master_5', ()=>{
}],
['default', ()=>{
}],
])
const onButtonClick = (identity,status)=>{
let action = actions.get(`${
identity}_${
status}`) || actions.get('default’);
action.call(this);
}
const actions = {
'guest_1':()=>{
},
'guest_2':()=>{
},
}
const onButtonClick = (identity,status)=>{
let action = actions[`${
identity}_${
status}`] || actions['default']
action.call(this)
}
const actions = new Map([
[{
identity:'guest',status:1},()=>{
}],
[{
identity:'guest',status:2},()=>{
}],
])
const onButtonClick = (identity,status)=>{
let action = [...actions].filter(([key,value])=>(key.identity == identity && key.status == status))
action.forEach(([key,value])=>value.call(this))
}
const actions = ()=>{
const functionA = ()=>{
}
const functionB = ()=>{
}
return new Map([
[{
identity:'guest',status:1},functionA],
[{
identity:'guest',status:2},functionA],
[{
identity:'guest',status:3},functionA],
[{
identity:'guest',status:4},functionA],
[{
identity:'guest',status:5},functionB],
])
}
const onButtonClick = (identity,status)=>{
let action = [...actions()].filter(([key,value])=>(key.identity == identity && key.status == status))
action.forEach(([key,value])=>value.call(this))
}
const actions = ()=>{
const functionA = ()=>{
}
const functionB = ()=>{
}
return new Map([
[/^guest_[1-4]$/,functionA],
[/^guest_5$/,functionB],
])
}
const onButtonClick = (identity,status)=>{
let action = [...actions()].filter(([key,value])=>(key.test(`${
identity}_${
status}`)))
action.forEach(([key,value])=>value.call(this))
}
const actions = ()=>{
const functionA = ()=>{
}
const functionB = ()=>{
}
const functionC = ()=>{
}
return new Map([
[/^guest_[1-4]$/,functionA],
[/^guest_5$/,functionB],
[/^guest_.*$/,functionC],
])
}
const onButtonClick = (identity,status)=>{
let action = [...actions()].filter(([key,value])=>(key.test(`${
identity}_${
status}`)))
action.forEach(([key,value])=>value.call(this))
}
if (termId < 5 && dType === 1) {
return this.label._item2
} else if (termId < 5 && dType === 2) {
return this.label._item1
} else if (termId < 5 && dType === 4) {
return this.label._item1
} else if (termId > 4 && dType === 1) {
return this.label._item3
} else if (termId > 4 && dType === 2) {
return this.label._item3
} else if (termId > 4 && dType === 4) {
return this.label._item2
}
const actions = {
'long':{
1:'_item2',
2:'_item1',
4:'_item3'
},
'short':{
1:'_item3',
2:'_item3',
4:'_item2'
}
}
const onButtonClick = (id,type)=>{
console.info(actions[id>4?'long':'short'][type])
}
onButtonClick(4,1);
const actions = ()=>{
return new Map([
[/^[0-4]_\d$/,{
1:'_item2',
2:'_item1',
4:'_item3'
}],
[/^[5-9]_\d$/,{
1:'_item3',
2:'_item3',
4:'_item2'
}]
])
}
const onButtonClick = (id,type)=>{
let str = `${
id}_${
type}`
let result = [...actions()]
.filter(([key,value])=>key.test(str))
.map(([key,value])=>value[type])
.join('')
console.info(result)
}
onButtonClick(4,1)
function returnWeekday() {
let string = "今天是星期";
let date = new Date().getDay();
dateObj = {
0: ['天', '休'],
1: ["一", '工'],
2: ["二", '工'],
3: ["三", '工'],
4: ["四", '工'],
5: ["五", '工'],
6: ["六", '休'],
}
dayType = {
'休': function () {
console.log('为休息日')
},
'工': function () {
console.log('为工作日')
}
}
let returnData = {
'string': string + dateObj[date][0],
'method': dayType[dateObj[date][1]]
}
return returnData
};
console.log(returnWeekday().method.call(this))