提高 javascript 代码效率的技巧

简介: 优雅的代码编写格式,提升效率的同时更美观

🎈 变量声明

  • 多个变量的声明,可以简写
// 非效率写法letx;
lety;
letz=520;
// 效率写法letx, y, z=520;


🎈 三元运算符

  • 在条件判断时,可以使用三元运算符增加效率
letnum1=520;
letnum2=1314;
// 非效率写法if (num1>num2) {
// ...} else {
// ...}
// 效率写法letresult=num1>num2?true : false;


🎈 解构赋值

  • 变量赋值
leta, b, c;
// 非效率写法a=1;
b=2;
c=3;
// 效率写法let [a, b, c] = [1, 2, 3];


🎈 解构交换

  • 交换两个变量
letx='极客飞兔', y='程序员';
// 非效率写法consttemp=x;
x=y;
y=temp;
// 效率写法[x, y] = [y, x];


🎈 箭头函数

  • 函数的简写方式
// 非效率写法functionadd(num1, num2) {
returnnum1+num2;
}
// 效率写法constadd= (num1, num2) =>num1+num2;


🎈 字符串模版

// 非效率写法console.log('极客飞兔的年龄 '+age+' 他的身高 '+height);
// 效率写法console.log(`极客飞兔的年龄 ${age}他的身高 ${height}`);


🎈 多值匹配

  • 判断某个值是否等于某个多个值中的一个
// 非效率写法if (value===1||value==='飞兔'||value===2||value==='程序员') {
// ...}
// 效率写法一if ([1, '飞兔', 2, '程序员'].indexOf(value) >=0) {
// ...}
// 效率写法二if ([1, '飞兔', 2, '程序员'].includes(value)) { 
// ...}


🎈 ES6对象简写

letfirstname='极客';
letlastname='飞兔';
// 非效率写法letuserinfo= {firstname: firstname, lastname: lastname};
// 效率写法letuserinfo= {firstname, lastname};


🎈 字符串转数字

// 非效率写法lettotal=parseInt('520');
letaverage=parseFloat('13.14');
// 效率写法lettotal=+'520';
letaverage=+'13.14';


🎈 次方相乘

// 非效率写法constpower=Math.pow(2, 5);
// 效率写法constpower=2**5;


🎈 数组合并

letarr1= [520, 1314];
// 非效率写法letarr2=arr1.concat([1225, 1115]);
// 效率写法letarr2= [...arr1, 1225, 1115];


🎈 查找数组最大值最小值

constarr= [520, 1314, 1115, 1225];
// 效率写法Math.max(...arr);
Math.min(...arr);


🎈 获取字符串字符

letstr='https://autofelix.blog.csdn.net/';
// 非效率写法str.charAt(10);
// 效率写法str[10];


🎈 并&&操作

functionfn() {
returntrue;
}
letflag=true;
// 非效率写法if (flag) {
fn();
}
// 效率写法flag&&fn();


🎈 数组排序

constarr= [40, 2, 1, 5, 99, 111];
// 从小到大arr.sort((a, b) =>a-b); // [1, 2, 5, 40, 99, 111]// 从大到小arr.sort((a, b) =>b-a); // [111, 99, 40, 5, 2, 1]


🎈 数组过滤

  • 从数组中过滤假数值
constarr= [3, '1', '', 0, false, null, undefined];
arr.filter(Boolean); // [3, '1']


🎈 for循环

letarr= ['极客飞兔', 520, 1314, '程序员']
// 非效率写法for (vari=0; i<arr.length; i++) {}
// 效率写法for (constiinarr) {}
// 效率写法for (constiofarr) {}


🎈 判断奇偶

  • 使用& 1 判断奇偶数
// 非效率写法if(value/2==0) {
// 是偶数} else {
// 是奇数}
// 效率写法2&1; // 0 返回0表示偶数3&1; // 1 返回1表示奇数


🎈 数组去重

constarray= [5,4,7,8,9,2,7,5];
// 效率的两种写法array.filter((item,idx,arr) =>arr.indexOf(item) ===idx);
constnonUnique= [...newSet(array)];


🎈 IF检查

// 非效率写法if (result===true)
// 效率写法if (result)


🎈 合并对象

constuser= { 
name: '极客飞兔', 
gender: '男'};
constcollege= { 
primary: '清华大学', 
secondary: '社会大学'};
constskills= { 
java: 'JAVA', 
php: 'PHP', 
python: 'PYTHON'};
constsummary= {...user, ...college, ...skills};


🎈 可选链

constuser= {
employee: {
name: "极客飞兔"  }
};
// 可选链user.employee?.name;
user.employ?.name;
user.employ.name;


🎈 字符串重复

// 非效率写法letstr=''; 
for(leti=0; i<5; i++) { 
str+='autofelix '; 
} 
// 效率写法'autofelix '.repeat(5);


🎈 默认值

letuser; 
letname=getUserName();
// 非效率写法if (name!==null&&name!==undefined&&name!=='') {
user=name;
} else {
user='极客飞兔';
}
// 效率写法letuser=getUserName() ||'极客飞兔';


🎈 双波浪线运算符

// 非效率写法constfloor=Math.floor(6.8); // 6// 效率写法constfloor=~~6.8; // 6


🎈 移除对象属性

letobj= {x: 45, y: 72, z: 68, p: 98};
// 非效率写法deleteobj.x;
deleteobj.p;
console.log(obj); // {y: 72, z: 68}// 效率写法let {x, p, ...newObj} =obj;
console.log(newObj); // {y: 72, z: 68}
相关文章
|
2月前
|
JavaScript
短小精悍的js代码
【10月更文挑战第17天】
132 58
|
2月前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 来检查代码规范并自动格式化 Vue.js 代码。
【10月更文挑战第7天】随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 来检查代码规范并自动格式化 Vue.js 代码。通过安装和配置这两个工具,可以确保代码风格一致,提升团队协作效率和代码质量。
277 2
|
2月前
|
JavaScript 前端开发 内存技术
js文件的入口代码及需要入口代码的原因
js文件的入口代码及需要入口代码的原因
47 0
|
23天前
|
JavaScript 前端开发 测试技术
在 golang 中执行 javascript 代码的方案详解
本文介绍了在 Golang 中执行 JavaScript 代码的四种方法:使用 `otto` 和 `goja` 嵌入式 JavaScript 引擎、通过 `os/exec` 调用 Node.js 外部进程以及使用 WebView 嵌入浏览器。每种方法都有其适用场景,如嵌入简单脚本、运行复杂 Node.js 脚本或在桌面应用中显示 Web 内容。
58 15
在 golang 中执行 javascript 代码的方案详解
|
3月前
|
编解码 前端开发 JavaScript
javascript检测网页缩放演示代码
javascript检测网页缩放演示代码
|
1月前
|
JavaScript
原生js炫酷随机抽奖中奖效果代码
原生js随机抽奖是一个炫酷的根据数据随机抽奖的代码,该网页可进行随机抽取一个数据,页面动画高科技、炫酷感觉的随机抽奖效果,简单好用,欢迎下载!
46 3
|
1月前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤。通过这些工具,可以显著提升编码效率和代码质量。
505 4
|
27天前
|
JSON JavaScript 关系型数据库
node.js连接GBase 8a 数据库 并进行查询代码示例
node.js连接GBase 8a 数据库 并进行查询代码示例
|
1月前
|
JSON 移动开发 数据格式
html5+css3+js移动端带歌词音乐播放器代码
音乐播放器特效是一款html5+css3+js制作的手机移动端音乐播放器代码,带歌词显示。包括支持单曲循环,歌词显示,歌曲搜索,音量控制,列表循环等功能。利用json获取音乐歌单和歌词,基于html5 audio属性手机音乐播放器代码。
117 6