10 个实用的 JavaScript 小技巧

栏目: IT技术 · 发布时间: 4年前

内容简介:作者:Zander Shirley

每日前端夜话 第325篇

翻译: 疯狂的技术宅

作者:Zander Shirley

来源:dev.to

正文共:1229  字

预计阅读时间:10 分钟

10 个实用的 JavaScript 小技巧

我一直在寻找提高效率的新方法。JavaScript 总是充满令人出乎意料的惊喜。

1. 将 arguments 对象转换为数组

arguments对象是函数内部可访问的类似数组的对象,其中包含传递给该函数的参数的值。

但它与其他数组不同,我们可以访问其元素值并获得长度,但是不能在其上使用其他的数组方法。

幸运的是,我们可以将其转换为常规数组:

1var argArray = Array.prototype.slice.call(arguments);

2. 对数组中所有的值求和

我最初的想法是使用循环,但是那样做太费事了。

1var numbers = [3, 5, 7, 2];
2var sum = numbers.reduce((x, y) => x + y);
3console.log(sum); // returns 17

3. 条件短路

我们有以下代码:

1if (hungry) {
2    goToFridge();
3}

通过将变量与函数一起使用,我们可以使其更短:

1hungry && goToFridge()

4. 对条件使用逻辑或

我曾经在函数的开头声明自己的变量,只是为了避免在出现任何意外错误的情况下得到 undefined

1function doSomething(arg1){ 
2    arg1 = arg1 || 32; // 如果变量尚未设置,则 arg1 将以 32 作为默认值
3}

5. 逗号运算符

逗号运算符( , )用来评估其每个操作数(从左到右)并返回最后一个操作数的值。

 1let x = 1;
 2
 3x = (x++, x);
 4
 5console.log(x);
 6// expected output: 2
 7
 8x = (2, 3);
 9
10console.log(x);
11// expected output: 3

6. 用 length  调整数组大小

你可以调整数组大小或清空数组。

 1var array = [11, 12, 13, 14, 15];  
 2console.log(array.length); // 5  
 3
 4array.length = 3;  
 5console.log(array.length); // 3  
 6console.log(array); // [11,12,13]
 7
 8array.length = 0;  
 9console.log(array.length); // 0  
10console.log(array); // []

7. 通过数组解构对值进行交换

解构赋值语法是一种 JavaScript 表达式,可以将数组中的值或对象中的属性解压缩为不同的变量。

1let a = 1, b = 2
2[a, b] = [b, a]
3console.log(a) // -> 2
4console.log(b) // -> 1

8. 随机排列数组中的元素

我每天我都在洗牌'

1var list = [1, 2, 3, 4, 5, 6, 7, 8, 9];
2console.log(list.sort(function() {
3    return Math.random() - 0.5
4})); 
5// [4, 8, 2, 9, 1, 3, 6, 5, 7]

9. 属性名可以是动态的

你可以在声明对象之前分配动态属性。

1const dynamic = 'color';
2var item = {
3    brand: 'Ford',
4    [dynamic]: 'Blue'
5}
6console.log(item); 
7// { brand: "Ford", color: "Blue" }

10. 过滤唯一值

对于所有 ES6 爱好者,我们可以通过使用带有展开运算符的 Set 对象来创建一个仅包含唯一值的新数组。

1const my_array = [1, 2, 2, 3, 3, 4, 5, 5]
2const unique_array = [...new Set(my_array)];
3console.log(unique_array); // [1, 2, 3, 4, 5]

你有什么 JavaScript 技巧或窍门要分享吗?

原文链接

https://dev.to/zandershirley/10-practical-javascript-tricks-2b7h

2020年

京程一灯课程体系上新,这是我们第一次将全部课程列表对外开放。

愿你有个好前程,愿你月薪30K。我们是认真的 ! 10 个实用的 JavaScript 小技巧

点击文末  阅读全文   查看细节。

10 个实用的 JavaScript 小技巧

长按二维码,加大鹏老师微信好友

拉你加入前端技术交流群

唠一唠怎样才能拿高薪

10 个实用的 JavaScript 小技巧

往期精彩回顾

面向开发人员的十大 NodeJS 框架

JavaScript 类完整指南

讲给前端的正则表达式

WebAssembly 正式成为 Web 的第四种语言

2020 年 Node.js 将会有哪些新功能

2020 年 Web 开发展望

从 JavaScript、ES6、ES7 到 ES10,你学到哪儿了?

15个 Vue.js 高级面试题

10 个实用的 JavaScript 小技巧


以上所述就是小编给大家介绍的《10 个实用的 JavaScript 小技巧》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Impractical Python Projects

Impractical Python Projects

Lee Vaughan / No Starch Press / 2018-11 / USD 29.95

Impractical Python Projects picks up where the complete beginner books leave off, expanding on existing concepts and introducing new tools that you’ll use every day. And to keep things interesting, ea......一起来看看 《Impractical Python Projects》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码