美文网首页Vue.js
js 代码优化

js 代码优化

作者: zhudying | 来源:发表于2020-09-15 11:24 被阅读0次

一. Map 优化代码

// 假设数据
  type: 1

当 type =1 时,需要转换成 '身份证'
当 type =2 时,需要转换成 '驾驶证'
当 type =3 时,需要转换成 '军官证'
当 type =4 时,需要转换成 '毕业证'
...

方法1. 使用 if / else if
function changeType(type){
    if(type  === 1){
        return  '身份证'
    }else if(type === 2){
        return '驾驶证'
    }else if(type === 3){
        return '军官证'  
    }else if(type === 4){
        return '毕业证'  
    }
}
方法2. 使用 switch
function changeType(type){
    switch(type){
        case 1:
            return '身份证'
            break;
        case 2:
            return '驾驶证'
            break;
        case 3:
            return '军官证'  
            break;  
        case 4:
            return  '毕业证'  
            break;  
    }
}

以上两种方法代码过多,太冗余繁杂

方法3. 使用 Map 优化
function changeType(type){
    let typeMap = new Map([
        [1, '身份证'],
        [2, '驾驶证'],
        [3, '军官证'],
        [4, '毕业证' ]
    ]);
    return typeMap.get(type)
}
方法4. 使用 对象 key-value映射关系 优化
function changeType(type){
    let typeMap ={
        1: '身份证',
        2: '驾驶证',
        3: '军官证',
        4: '毕业证',
    };
    return typeMap[type]
}

二. includes 优化代码

// 假设数据
  type为 1,2,3,4 时,请求通过
方法1. 使用 || 运算符
function fun(type){
    if(type === 1 || type === 2 || type === 3 || type === 4){
        return '请求通过'
    }
}

当 type 变的很多的时候,重复代码量跟着变多

方法2. 使用 includes

function fun(type){
    let typeList = [1, 2, 3, 4]
    if(typeList.includes(type)){
        return '请求通过'
    }
}

三. if 语句 优化代码

1. 单个if
function log(){}

let flag = true
let bflag = true

// 普通写法
if(flag && bflag){
    log()
}
// 优化写法
flag && bflag && log()
2. 多个if
if(a==1){
    return "结果"
}
if(b==2){
    return "结果"
}
if(c==3){
    return "结果"
}
// 优化写法
if(a==1 || b==2 || c==3){
    return "结果"
}
// 或
if(a==1 || b==2 || c==3)return "结果"

四. if / else 语句 优化代码

1. 单个 if / else
function log(){}

let flag = true

if(flag){
    log()
}else{
    return;
}
// 优化写法
let flag = true

if(!flag)return;

log()
function demo(flag){
    if(flag){
        return "1"
    }else{
        return "2"
    }
}
// 三元优化写法
function demo(flag){
    return flag ? "1" : "2"
}
2. 多个 if / else
let  userInfo:{
            age:18,
            hobby:['敲代码','打篮球']
        }
// hobby 不确定有没有值
if(userInfo){
    if(userInfo.hobby){
        if(Array.isArray(userInfo.hobby)){
            if(userInfo.hobby.length){
                // 渲染
            }
        }
    }
}
// 优化后
try {
   if(userInfo.hobby.length){
       //渲染显示
   }
} catch (error) {
   
}
// 或
if(userInfo?.hobby?.length){
    //遍历 result.data.userInfo.hobby 进行渲染显示
}

相关文章

  • react_16Hooks_二(代码优化与第三方库使用)

    中 接上一篇优化home.js与about.js中的代码: 优化后about.js 优化后home.js与abou...

  • JS性能优化 —— JS代码优化

    目录 性能测试工具的介绍使用流程 JS代码优化慎用全局变量缓存全局变量通过原型新增方法避开闭包陷阱避免属性访问方法...

  • 优化Javascript代码性能

    优化JS代码性能 优化循环 我们来看一段段代码 这段代码循环footballTeam中的members数组,然后打...

  • 优化js代码

    1.定义一个变量时,要使用 var 关键字。变量没有声明而直接赋值得话,默认会作为一个新的全局变量,要尽量避免使用...

  • JS代码优化

    加载(js/jq) 1.尽量将JavaScript和jQuery代码放到页面底部。 2.兼容IE6 7 8 不要用...

  • js 代码优化

    一. Map 优化代码 当 type =1 时,需要转换成 '身份证'当 type =2 时,需要转换成 '驾驶...

  • Js代码优化

    变量:1、变量数量的定义:数据只使用一次 或 不使用就无须放到变量中2、变量的命名:无需对每个变量都写注释,从名字...

  • 代码优化

    优化代码的目的:提高运行速度; js代码优化: 代码重用 避免全局变量(全局变量,封闭空间,模块化,mvc..) ...

  • 移动端优化

    1. 代码优化##### css和js文件需要uglify 使用grunt等构建化工具 2. 图片优化##### ...

  • 前端HTML页面转PDF(html2canvas+jspdf)

    方式一 vue 安装 代码 utils - htmlToPdf.js main.js 使用 优化 1、如果在多个页...

网友评论

    本文标题:js 代码优化

    本文链接:https://www.haomeiwen.com/subject/snbxyktx.html