Skip to content
山不让尘,川不辞盈
搜索 K
Main Navigation 主页闲聊关于
实用网站
工具网站
Excel工具

Appearance

Sidebar Navigation

pages

闲聊

关于我

tools

ExcelTools

recommendation

工具网页

实用网页

2025

五一长沙游玩攻略

2024

Coze Agent 调研

Git 多仓库提交用户信息动态设置

vitepress博客搭建

Vue3 + vite 实用依赖与配置

解决nvm use无效问题

2023

Flutter windows 环境配置

Electron windows robotjs 安装教程

Electron 控制屏幕亮度

现阶段AI建站工具简析

2022

Echarts-dataZoom在windows无法触屏拖动问题

Vue全局错误监测

Electron前端开启局域网接口

快速搭建Electron桌面应用

Node.js 笔记

el-table懒加载局部更新

uniapp 小程序自定义顶部标题

JS 代码编写优化

十个常用工具库

前端常用的响应式布局方法

Vue 面试知识点

JavaScript 手写方法

JS音频的总时长 NaN || Infinity 问题

B站前端路线资源整合

Vue 组件间通信的6种方式

TypeScript 基础知识点笔记

2021

JavaScript 面试知识点

LeeCode 笔记

axios简单封装

Vue3 笔记

Vue2 笔记

JavaScript 笔记

Git 常用命令

JavaScript DOM 常用知识点

vscode 插件推荐

ES6模块化

请求与跨域

CSS 图片处理技巧

文章目录

JS 代码编写优化 ​

阅读时间:

3

分钟
文章字数:

668

字
发布日期:

2022-03-20

最近更新:

2024-11-08

JavaScript

1. 合理使用对象 ​

1.1 多种条件(初始) ​

const a = 1
let res
switch (a) {
  case 1:
    res = 'one'
    break
  case 2:
    res = 'two'
    break
  // 超级多...
}
console.log(res) // one

1.2 利用对象(优化) ​

const a = 1
const map = {
  '1': 'one',
  '2': 'two',
  // ...
}
let res = map[a]

2.合理使用 数组 + includes ​

2.1 多个或进行 if 判断(初始) ​

const a = 1

if (a === 1 || a === 2 || a === 3) {
  // ...
}

2.2 利用数组 + includes(优化) ​

const a = 1

if ([1, 2, 3].includes(a)) {
  // ...
}

3. ES6 默认参数 ​

3.1 默认参数(初始) ​

const fn = (name) => {
  name = name || 'lhd'
  console.log(name)
}

3.2 ES6 默认参数(优化) ​

const fn = (name = 'lhd') => {
  console.log(name)
}

4. 嵌套解构赋值 ​

4.1 链式取值(初始) ​

const obj = {
  eat: {
    breakfast: 'egg',
    dinner: 'meal'
  }
}

console.log(obj.eat.breakfast) // egg
console.log(obj.eat.dinner) // meal

4.2 嵌套解构(优化) ​

const {
  eat: {
    breakfast,
    dinner
  }
} = obj

console.log(breakfast) // egg
console.log(dinner) // meal

5. 三元代替 if ​

5.1 if 赋值(初始) ​

let player
let no = 24
if (no === 24) {
  player = 'kobe'
} else {
  player = 'james'
}

5.2 三元代替(优化) ​

let no = 24
const name = no === 24 ? 'kobe' : 'james'

6. 多 if 的 return ​

6.1 else if(初始) ​

const a = 1
const fn = () => {
  if (a === 1) {
    return 1
  } else if (a === 2) {
    return 2
  } else if (a === 3) {
    return 3
  }
}

6.2 if(优化) ​

const a = 1
const fn = () => {
  if (a === 1) {
    return 1
  }
  if (a === 2) {
    return 2
  }
  if (a === 3) {
    return 3
  }
}

7. if 判断假值 ​

7.1 ===判断(初始) ​

if (key === null) {
  // 进行对应操作
}

7.2 自动转布尔值(优化) ​

if (key) {
  // 进行对应操作
}

8. Vue 不需响应式的数据 ​

8.1 初始 ​

如果 selects 是不需要响应式的,但是你放在这里,会进行响应式的处理,浪费性能

  data() {
    return {
      selects: [
        {label: '选项一', value: 1},
        {label: '选项二', value: 2},
        {label: '选项三', value: 3}
    ]
    };
  }

8.2 优化 ​

放在外面,则不会进行响应式处理,节省性能

  data() {
    // 放在这
    this.selects = [
      {label: '选项一', value: 1},
      {label: '选项二', value: 2},
      {label: '选项三', value: 3}
    ]
    return { };
  }

9. 定时器、绑定事件的清除 ​

export default{
  data(){
    timer:null
  },
  mounted(){
      this.timer = setInterval(()=>{
      //具体执行内容
      console.log('1');
        },1000);
  }
  beforeDestory(){
    clearInterval(this.timer);
    this.timer = null;
  }
}

10. 小程序多次 setData 合并 ​

小程序不像 React,小程序的 setData 并没有做多次修改自动合并,所以需要我们手动合并

10.1 初始 ​

this.setState({
    name: 'lhd'
})
if (confition1) {
  this.setState({
    age: 22
  })
}
if (condition2) {
  this.setState({
    gender: '男'
  })
}

10.2 优化 ​

const model = {
  name: 'lhd'
}
if (confition1) {
  model.age = 22
}
if (condition2) {
  model.gender = '男'
}
// 合并更新
this.setData(model)

11. 简短函数调用 ​

11.1 初始 ​

// test2 test3 都是函数
// 值为1时调用 test1(),否则调用 test2()
var temp = 1
if(temp == '1'){
  test1()
} else {
  test2()
}

11.2 优化 ​

var temp = 1
(temp=='1' ? test1:test2)()

12. 给多个变量赋值 ​

12.1 初始 ​

let test1,test2,test3
test1 = 1
test2 = 2
test3 = 3

12.2 优化 ​

let [test1,test2,test3] = [1,2,3]
Pager
上一篇uniapp 小程序自定义顶部标题
下一篇十个常用工具库
本站总访问量 -- 次 本站访客数 -- 人次

前端狗都不如 © 2021-2025 holden