if语句优化

该文档主要介绍如何优化if语句,提高代码可读性

三元表达式

三元表达式适用于比较简单的ifelse语句,没有过多复杂的业务处理代码

// 优化前:
let userName = "";
if (user.name === "admin") {
  userName = "超级管理员"
} else {
  userName = "普通人员"
}
// 优化前:
let userName = "普通人员";
if(user.name === "admin"){
  userName = "超级管理员"
}
// 优化后:
let userName = user.name==="admin"?"超级管理员":"普通人员"

也可以多次嵌套

//优化前:
let level= "普通人员";
if(user.name === "admin"){
  userName = "超级管理员"
}else if(user.name==="normal"){
	userName ="管理员"
}
//优化后:
let userName = user.name==="admin"?"超级管理员":(user.name==="normal"?"管理员":"普通人员")

逻辑运算符

关于逻辑运算符点击 逻辑运算符 查看
示例一

function sayHello(name){
	if(!name){
		name = "张三"
	}
	return `你好呀~${name}`
}
function sayHello(name){
	name = name||'张三'
	return `你好呀~${name}`
}
sayHello()			//你好呀~张三
sayHello("李四")	//你好呀~李四

示例二

//优化前:
if (x >= 15) {
  value = 4
} else if (x >= 12) {
  value = 3
} else if (x >= 10) {
  value = 2
} else if (x >= 5) {
  value = 1
} else {
  value = 0
}
// 优化后:
let value = (x>=15 && 4) || (x>=12 && 3) || (x>=10 && 2) || (x>=5 && 1) || 0

map映射

主要用于复杂的ifelse switch语句,通过自定义条件映射表listMap(可以是[]或者{},根据实际业务场景来决定)再遍历处理

数组Map
//优化前:
let text = '--'
if(index===1){
    text = '未完成'
}else if(index===2){
    text = '进行中'
}else if(index === 3){
    text = '已完成'
}
//优化后
const map = ['','未完成','进行中','已完成']
let text = map[index]||'--'
对象Map 例1
//优化前
  if(type==='zhangsan') {
      url='a/aa',
      data = {
          name:'张三',
          age:12
      }
  }else if(type==='lisi'){
      url = 'b/bb',
      data = {
          name:'李四',
          age:20,
          sex:'男'
      }
  }else if(type==='wangwu'){
      url = 'c/cc',
      data = {
          name:'王五',
      }
  }
  $.ajax({ url, data })
  //优化后
    const map = {
    zhangsan:{
        url:'a/aa',
        data:{name:'张三',age:12}
    },
    lisi:{
        url:'b/bb',
        data:{name:'李四',age:20,sex:'男'}
    },
    wangwu:{
        url:'c/cc',
        data:{name:'王五'}
    }
  }
  let {url,data} = map[type]
  $.ajax({ url, data })

实际项目中的优化

示例一
在这里插入图片描述 在这里插入图片描述

示例二
在这里插入图片描述 在这里插入图片描述

示例三
优化前 优化后 在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Python中,可以对if-else语句进行优化以提高代码的可读性和效率。下面是一些建议: 1. 使用if-elif-else链代替多个if语句:如果有多个条件需要判断,可以使用if-elif-else链来代替多个独立的if语句。这样可以减少代码的嵌套层级,提高代码的可读性。例如: ``` name = input("Please input your name:") if name == "Johnson": print("Hello my son.") elif name == "Judy": print("Hello my daughter.") elif name == "Aric": print("Hello my friend.") elif name == "John": print("Hello to myself.") else: print("Hello others.") ``` 2. 根据条件的可能性排序:如果条件的可能性不同,可以将出现概率高的条件放在前面,这样可以减少不必要的判断,提高代码的效率。例如: ``` name = input("Please input your name:") if name == "Johnson": print("Hello my son.") elif name == "Judy": print("Hello my daughter.") elif name == "John": print("Hello to myself.") elif name == "Aric": print("Hello my friend.") else: print("Hello others.") ``` 3. 使用字典代替多个elif语句:如果判断的条件较多,并且条件和对应的操作可以映射到字典中,可以使用字典来代替多个elif语句。这样可以简化代码并提高效率。例如: ``` name = input("Please input your name:") greetings = { "Johnson": "Hello my son.", "Judy": "Hello my daughter.", "John": "Hello to myself.", "Aric": "Hello my friend." } print(greetings.get(name, "Hello others.")) ``` 通过以上优化措施,可以使代码更简洁、可读性更高,并且提高代码的效率。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Python if else条件语句](https://blog.csdn.net/JSPSEO/article/details/124871412)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值