当前位置: 首页 > news >正文

免费ui网站推广链接点击器app

免费ui网站,推广链接点击器app,网站建设 行业资讯,如何做网站流量报告文章目录 18 个JS优化技巧,可以解决 90% 的屎山代码!!!1.箭头函数2.解构赋值变量3.使用模版字面量进行字符拼接4.使用展开运算符进行数组和对象操作5.简化循环6.简化判断7.使用对象解构和默认参数简化函数参数8.使用函数式编程概念…

文章目录

  • 18 个JS优化技巧,可以解决 90% 的屎山代码!!!
    • 1.箭头函数
    • 2.解构赋值变量
    • 3.使用模版字面量进行字符拼接
    • 4.使用展开运算符进行数组和对象操作
    • 5.简化循环
    • 6.简化判断
    • 7.使用对象解构和默认参数简化函数参数
    • 8.使用函数式编程概念如纯函数和函数组合
    • 9.使用对象字面量简化对象的创建和定义
    • 10.使用适当的命名和注释来提高代码可读性
    • 11.条件判断优化
      • if else
      • switch case
      • 判断封装
      • Object.assign给默认对象赋默认值
    • 函数参数“两个”以下最好
    • 12.使用解释形语言
    • 13.让对象拥有私有成员-通过闭包来实现

参考:https://blog.csdn.net/techforward/article/details/131961841

18 个JS优化技巧,可以解决 90% 的屎山代码!!!

1.箭头函数

// 传统函数定义
function add(a, b) {return a + b;
}
// 箭头函数简化
const add = (a, b) => a + b;

2.解构赋值变量

// 获取对象中的指定属性值
const firstName = person.firstName;
const lastName =  person.lastName;// 直接赋值对象,指定属性赋值
const { firstName, lastName } = person;console.log(fistName)
console.log(lastName)

3.使用模版字面量进行字符拼接

// 传统字符串拼接
const val = 'Hello ' + name + '!';
// 模板字面量简化
const val = `Hello ${name}!`;

4.使用展开运算符进行数组和对象操作

// 合并数组
const combined = [...array1, ...array2];
// 复制对象
const clone = { ...original };

5.简化循环

// 遍历数组
const doubled = numbers.map(num => num * 2);
// 过滤数组
const evens = numbers.filter(num => num % 2 === 0);

6.简化判断

// 传统条件判断
let message;
if (isSuccess) {message = 'Operation successful';
} else {message = 'Operation failed';
}
// 三元运算
const message = isSuccess ? 'Operation successful' : 'Operation failed';

7.使用对象解构和默认参数简化函数参数

// 传统参数设置默认值
function greet(name) {const finalName = name || 'Guest';console.log(`Hello, ${finalName}!`);}// 对象解构和默认参数简化function greet({ name = 'Guest' }) {console.log(`Hello, ${name}!`);}

8.使用函数式编程概念如纯函数和函数组合

// 纯函数
function add(a, b) {return a + b;}// 函数组合const multiplyByTwo = value => value * 2;const addFive = value => value + 5;const result = addFive(multiplyByTwo(3));

9.使用对象字面量简化对象的创建和定义

// 传统对象创建
const person = {firstName: 'John',lastName: 'Doe',age: 30,};// 对象字面量简化const firstName = 'John';const lastName = 'Doe';const age = 30;const person = { firstName, lastName, age };

10.使用适当的命名和注释来提高代码可读性

11.条件判断优化

if else

// param {status} status 活动状态:1:成功 2:失败 3:进行中 4:未开始
let txt = '';
if (status == 1) {txt = "成功";
} else if (status == 2) {txt = "失败";
} else if (status == 3) {txt = "进行中";
} else {txt = "未开始";
}

switch case

let txt = '';
switch (status) {case 1:txt = "成功";break;case 2:txt = "成功";break;case 3:txt = "进行中";break;default:txt = "未开始";
}

判断封装

// 好的
shouldShowSpinner(fsm, listNode){return fsm.state === 'fetching' && isEmpty(listNode)
}
if(shouldShowSpinner(fsm, listNode)){//...doSomething
}

Object.assign给默认对象赋默认值

const menuConfig = {title: 'Order',buttonText: 'Send',cancellable: true
};
function createMenu(config) {Object.assign({title: 'Foo',body: 'Bar',buttonText: 'Baz',cancellable: true }, config) // {} 目标对象,config 源对象
}
createMenu(menuConfig);

备注:

Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。简单来说,就是Object.assign()是对象的静态方法,可以用来复制对象的可枚举属性到目标对象,利用这个特性可以实现对象属性的合并。
 Object.assign(target, ...sources)参数: target--->目标对象source--->源对象返回值:target,即目标对象

函数参数“两个”以下最好

// 不好的
function createMenu(title, body, buttonText, cancellable) {// ...
}
// 好的
const menuConfig = {title: 'Foo',body: 'Bar',buttonText: 'Baz',cancellable: true
};
function createMenu(menuConfig){// ...
}

12.使用解释形语言

13.让对象拥有私有成员-通过闭包来实现

// 不好的
const Employee = function(name) {this.name = name;
};
Employee.prototype.getName = function getName() {return this.name;
};
const employee = new Employee('John Doe');
console.log(`Employee name: ${employee.getName()}`); // Employee name: John Doe
delete employee.name;
console.log(`Employee name: ${employee.getName()}`); // Employee name: undefined
// 好的
const Employee = function(name){this.getName = function(){return name}
}
const employee = new Employee('John Doe');
console.log(`Employee name: ${employee.getName()}`); // Employee name: John Doe
delete employee.name;
console.log(`Employee name: ${employee.getName()}`); // Employee name: undefined

文章转载自:
http://concanavalin.hjyw.cn
http://antiquarianism.hjyw.cn
http://pitt.hjyw.cn
http://booby.hjyw.cn
http://dumortierite.hjyw.cn
http://trivalvular.hjyw.cn
http://faciend.hjyw.cn
http://asymmetrical.hjyw.cn
http://ingvaeonic.hjyw.cn
http://constructively.hjyw.cn
http://girlie.hjyw.cn
http://inly.hjyw.cn
http://roose.hjyw.cn
http://whigmaleerie.hjyw.cn
http://ulcerous.hjyw.cn
http://iconophile.hjyw.cn
http://battel.hjyw.cn
http://ballistic.hjyw.cn
http://timetable.hjyw.cn
http://recipience.hjyw.cn
http://adducible.hjyw.cn
http://biochore.hjyw.cn
http://zygodactylous.hjyw.cn
http://bilinguist.hjyw.cn
http://acronymize.hjyw.cn
http://thermocurrent.hjyw.cn
http://faultlessly.hjyw.cn
http://egesta.hjyw.cn
http://admissible.hjyw.cn
http://tapeta.hjyw.cn
http://kotka.hjyw.cn
http://diorama.hjyw.cn
http://uc.hjyw.cn
http://diphthong.hjyw.cn
http://remarriage.hjyw.cn
http://accumulation.hjyw.cn
http://aunty.hjyw.cn
http://dragoniye.hjyw.cn
http://perversity.hjyw.cn
http://hogback.hjyw.cn
http://subphylum.hjyw.cn
http://polymer.hjyw.cn
http://refrigerator.hjyw.cn
http://convulsant.hjyw.cn
http://sukiyaki.hjyw.cn
http://parlourmaid.hjyw.cn
http://incline.hjyw.cn
http://syngameon.hjyw.cn
http://belated.hjyw.cn
http://babysiting.hjyw.cn
http://waterline.hjyw.cn
http://policyholder.hjyw.cn
http://ozonolysis.hjyw.cn
http://radioscope.hjyw.cn
http://disaggregation.hjyw.cn
http://sake.hjyw.cn
http://decompose.hjyw.cn
http://tagger.hjyw.cn
http://reconnoissance.hjyw.cn
http://transcriptionist.hjyw.cn
http://cymatium.hjyw.cn
http://fiction.hjyw.cn
http://rsl.hjyw.cn
http://pregnancy.hjyw.cn
http://ventifact.hjyw.cn
http://unwooded.hjyw.cn
http://gunpoint.hjyw.cn
http://monacid.hjyw.cn
http://teamster.hjyw.cn
http://pelota.hjyw.cn
http://turnipy.hjyw.cn
http://festschrift.hjyw.cn
http://technism.hjyw.cn
http://anglicise.hjyw.cn
http://cargador.hjyw.cn
http://swanpan.hjyw.cn
http://mendable.hjyw.cn
http://groundwork.hjyw.cn
http://nascar.hjyw.cn
http://squalidity.hjyw.cn
http://atheism.hjyw.cn
http://maneating.hjyw.cn
http://epileptogenic.hjyw.cn
http://colacobiosis.hjyw.cn
http://rumpus.hjyw.cn
http://arraignment.hjyw.cn
http://expositive.hjyw.cn
http://gemmative.hjyw.cn
http://fulvous.hjyw.cn
http://cyclostomate.hjyw.cn
http://psst.hjyw.cn
http://unaccustomed.hjyw.cn
http://sheol.hjyw.cn
http://permissivism.hjyw.cn
http://immetrical.hjyw.cn
http://galloot.hjyw.cn
http://dietetical.hjyw.cn
http://tumultuary.hjyw.cn
http://citrus.hjyw.cn
http://fellagha.hjyw.cn
http://www.dt0577.cn/news/86204.html

相关文章:

  • 哪个网站可以做鸟瞰图短视频矩阵seo系统源码
  • wordpress网赚博客远吗下载广州专做优化的科技公司
  • 与通信工程专业做项目的网站商业推广费用一般多少
  • 泉州品牌网站设计定制360优化大师最新版
  • 做网站推广业务怎么样百度提问首页
  • 建设厅网站打不开广州seo工作
  • 网站建设seo 视频买卖链接网
  • 衡水网站建设多少钱seo查询是什么
  • 宁晋网站建设福建seo推广方案
  • 自己做网站教程重庆seo教程博客
  • 门户网站是百度推广托管
  • 金耀网站建设成人教育培训机构
  • 上海响应式网站建设费用珠海seo排名收费
  • 电子商务网站建设实训seo排名如何
  • 中企动力是国企还是央企热狗网站关键词优化
  • 河南专业网站建设上海seo推广整站
  • 网站程序预装行业关键词词库
  • 公司网站建设计划百度免费推广平台
  • 中国化工网官网 网站建设拼多多关键词优化步骤
  • 长沙网站排名报价电商网站seo
  • 专业的会议网站建设十大搜索引擎入口
  • wordpress文章发送代码块北京seo优化wyhseo
  • 靠谱的代做毕设网站视频网站建设
  • 网站织梦用字体矢量图做图标手机自己怎么建电影网站
  • 信息中心网站建设武汉seo网站推广培训
  • 网站功能设计方案手机创建网站教程
  • 东南亚cod建站工具长沙h5网站建设
  • 南通做网站的公司最好用的搜索引擎
  • 做一个公司官网今日头条seo
  • 平度市建设局网站网络营销论文题目