编程技巧│提高 Javascript 代码效率的技巧
一、变量声明
- 多个变量的声明,可以简写
// 非效率写法
let x;
let y;
let z = 520;
// 效率写法
let x, y, z = 520;
二、三元运算符
- 在条件判断时,可以使用三元运算符增加效率
let num1 = 520;
let num2 = 1314;
// 非效率写法
if (num1 > num2) {
// ...
} else {
// ...
}
// 效率写法
let result = num1 > num2 ? true : false;
三、解构赋值
- 变量赋值
let a, b, c;
// 非效率写法
a = 1;
b = 2;
c = 3;
// 效率写法
let [a, b, c] = [1, 2, 3];
四、解构交换
- 交换两个变量
let x = '极客飞兔', y = '程序员';
// 非效率写法
const temp = x;
x = y;
y = temp;
// 效率写法
[x, y] = [y, x];
五、箭头函数
- 函数的简写方式
// 非效率写法
function add(num1, num2) {
return num1 + num2;
}
// 效率写法
const add = (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对象简写
let firstname = '极客';
let lastname = '飞兔';
// 非效率写法
let userinfo = {firstname: firstname, lastname: lastname};
// 效率写法
let userinfo = {firstname, lastname};
九、字符串转数字
// 非效率写法
let total = parseInt('520');
let average = parseFloat('13.14');
// 效率写法
let total = +'520';
let average = +'13.14';
十、次方相乘
// 非效率写法
const power = Math.pow(2, 5);
// 效率写法
const power = 2**5;
十一、数组合并
let arr1 = [520, 1314];
// 非效率写法
let arr2 = arr1.concat([1225, 1115]);
// 效率写法
let arr2 = [...arr1, 1225, 1115];
十二、查找数组最大值最小值
const arr = [520, 1314, 1115, 1225];
// 效率写法
Math.max(...arr);
Math.min(...arr);
十三、获取字符串字符
let str = 'https://autofelix.blog.csdn.net/';
// 非效率写法
str.charAt(10);
// 效率写法
str[10];
十四、并&&操作
function fn() {
return true;
}
let flag = true;
// 非效率写法
if (flag) {
fn();
}
// 效率写法
flag && fn();
十五、数组排序
const arr = [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]
十六、数组过滤
- 从数组中过滤假数值
const arr = [3, '1', '', 0, false, null, undefined];
arr.filter(Boolean); // [3, '1']
十七、for循环
let arr = ['极客飞兔', 520, 1314, '程序员']
// 非效率写法
for (var i = 0; i < arr.length; i++) {}
// 效率写法
for (const i in arr) {}
// 效率写法
for (const i of arr) {}
十八、判断奇偶
- 使用& 1 判断奇偶数
// 非效率写法
if(value / 2 == 0) {
// 是偶数
} else {
// 是奇数
}
// 效率写法
2 & 1; // 0 返回0表示偶数
3 & 1; // 1 返回1表示奇数
十九、数组去重
const array = [5,4,7,8,9,2,7,5];
// 效率的两种写法
array.filter((item,idx,arr) => arr.indexOf(item) === idx);
const nonUnique = [...new Set(array)];
二十、IF检查
// 非效率写法
if (result === true)
// 效率写法
if (result)
二十一、合并对象
const user = {
name: '极客飞兔',
gender: '男'
};
const college = {
primary: '清华大学',
secondary: '社会大学'
};
const skills = {
java: 'JAVA',
php: 'PHP',
python: 'PYTHON'
};
const summary = {...user, ...college, ...skills};
二十二、可选链
const user = {
employee: {
name: "极客飞兔"
}
};
// 可选链
user.employee?.name;
user.employ?.name;
user.employ.name;
二十三、字符串重复
// 非效率写法
let str= '';
for(let i = 0; i < 5; i ++) {
str+= 'autofelix ';
}
// 效率写法
'autofelix '.repeat(5);
二十四、默认值
let user;
let name = getUserName();
// 非效率写法
if (name !== null && name !== undefined && name !== '') {
user = name;
} else {
user = '极客飞兔';
}
// 效率写法
let user = getUserName() || '极客飞兔';
二十五、双波浪线运算符
// 非效率写法
const floor = Math.floor(6.8); // 6
// 效率写法
const floor = ~~6.8; // 6
二十六、移除对象属性
let obj = {x: 45, y: 72, z: 68, p: 98};
// 非效率写法
delete obj.x;
delete obj.p;
console.log(obj); // {y: 72, z: 68}
// 效率写法
let {x, p, ...newObj} = obj;
console.log(newObj); // {y: 72, z: 68}
编程技巧│提高 Javascript 代码效率的技巧的更多相关文章
- 提高 JavaScript 开发效率的高级 VSCode 扩展!
原文:提高 JavaScript 开发效率的高级 VSCode 扩展! 作者:前端小智 Fundebug经授权转载,版权归原作者所有. Quokka.js Quokka.js 是一个用于 JavaSc ...
- Android 你可能忽略的提高敲代码效率的方式
Android 你可能忽略的提高敲代码效率的方式
- Android 你可能忽略的提高敲代码效率的方式 (转)
每日推荐 Eyepetizer-in-Kotlin:一款简约的小视频app,带你走进kotlin 作为学习kotlin的一款app,在撸代码的过程中学习kotlin的语法及特性. Eyepetizer ...
- JS函数 编程练习 使用javascript代码写出一个函数:实现传入两个整数后弹出较大的整数。
编程练习 使用javascript代码写出一个函数:实现传入两个整数后弹出较大的整数. 任务 第一步: 编写代码完成一个函数的定义吧. 第二步: 我们来补充函数体中的控制语句,完成函数功能吧. 提示: ...
- 巧妙利用函数的惰性载入提高javascript 代码性能
在 javascript 代码中,因为各浏览器之间的行为的差异,我们经常会在函数中包含了大量的 if 语句,以检查浏览器特性,解决不同浏览器的兼容问题. 例如,我们最常见的为 dom 节点添加事件的函 ...
- 利用函数的惰性载入提高 javascript 代码性能
在 javascript 代码中,因为各浏览器之间的行为的差异,我们经常会在函数中包含了大量的 if 语句,以检查浏览器特性,解决不同浏览器的兼容问题.例如,我们最常见的为 dom 节点添加事件的函数 ...
- 去哪儿网2017校招在线笔试(前端工程师)编程题及JavaScript代码
编程题很简单.整个试卷结构为: 一.问答题: 对前端的理解,了解哪些框架库? 二.在线编程题:身份证分组 如下第一道:身份证分组 三.在线编程题:身份证分组.统计字符.酒店价格(三选二) 如下第二三四 ...
- 如何提高JavaScript代码质量
如何编写可维护的JavaScript代码 代码风格及规范 构建检查工具 jshint配置 http://jshint.com/docs/options/ http://www.cnblogs.com/ ...
- 五十个小技巧提高PHP执行效率(二)
更详细具体的总结如下: 1.用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的 ...
随机推荐
- js中的undefined
undefined,一个特殊值,通常用于指示变量尚未赋值,是一个JavaScript的 原始数据类型 . 如果后台返回前台数据为空(无数据),那么用该对象获取其中的属性会显示undefined. 如果 ...
- golang常用库包:Go依赖注入(DI)工具-wire使用
google 出品的依赖注入库 wire:https://github.com/google/wire 什么是依赖注入 依赖注入 ,英文全名是 dependency injection,简写为 DI. ...
- Java语言学习day19--7月25日
今日内容介绍1.继承2.抽象类3.综合案例---员工类系列定义 ###01继承的概述 *A:继承的概念 *a:继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系 *b:在Jav ...
- Java基础语法Day_06(面相对象和封装)
第1节 描述类介绍与使用 day06_01_面向对象思想的概述 day06_02_面向对象思想的举例 day06_03_类和对象的关系 day06_04_类的定义 day06_05_对象的创建及其使用 ...
- 【ACM程序设计】差分
差分 假设有一个数列,我们需要对数列中的一个区间加上或减去一个值,直接想到的便是对该区间进行一次循环逐项加减. 但是当请求的操作变得非常多的时候,每次请求都进行一次循环会很容易爆时间,因此我们引入了差 ...
- 企业实战|基于Cobbler实现多版本系统批量部署
前言 运维自动化在生产环境中占据着举足轻重的地位,尤其是面对几百台,几千台甚至几万台的服务器时,仅仅是安装操作系统,如果不通过自动化来完成,根本是不可想象的.记得前面我们探究了基于PXE实现系统全自动 ...
- Linux系统安装Python3环境
点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 本文基于如下Linux系统版本: 1.默认情况下,Lin ...
- APP应用前端开发
1.开发手机APP前端要重视meta标签的编写: 2.注意HTML5标签在前端开发中的使用: 3.前端制作要舍弃CSS float属性(可flex布局),用绝对定位不利于页面布局的扩展: 4.APP前 ...
- ansible模块的介绍与使用
ansible-doc的使用 1.ansible-doc -h可以看见ansible-doc的所有参数 2.ansible-doc 命令格式:ansible-doc [-l|-F|-s] [optio ...
- Java学习笔记-基础语法Ⅴ
学习一些Java常用的API Math:包含执行基本数字运算的方法 如果没有构造方法,一般类的成员都是静态的,通过类名可以直接调用 Java中有两种random函数,Math.Random()函数能够 ...