前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >9 个极其强大的 JavaScript 技巧

9 个极其强大的 JavaScript 技巧

作者头像
深度学习与Python
发布于 2021-01-05 15:37:11
发布于 2021-01-05 15:37:11
35500
代码可运行
举报
运行总次数:0
代码可运行

作者 | Fatima Nawaz

译者 | 王强

策划 | 田晓旭

所谓 hacker 方法,就是一种不断改进和迭代的构建方法。有着 hacker 精神的程序员相信事物总有改进的余地,没有什么是完美的存在。每一段代码都有进一步优化的空间,每一个操作都有更便捷的技巧。

下面列举一些非常强大的 JavaScript hack 技巧。

1. Replace All

我们知道 string.Replace() 函数只会替换第一个项目。

你可以在这个正则表达式的末尾添加 /g 来替换所有内容。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var example = "potato potato";
console.log(example.replace(/pot/, "tom"));// "tomato potato"console.
log(example.replace(/pot/g, "tom"));
// "tomato tomato"

2. 提取唯一值

我们可以使用 Set 对象和 Spread 运算符,创建一个剔除重复值的新数组。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var entries = [1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 8, 4, 2, 1]
var unique_entries = [...new Set(entries)];
console.log(unique_entries);
// [1, 2, 3, 4, 5, 6, 7, 8]

3. 将数字转换为字符串

我们只需使用带空引号的串联运算符即可。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var converted_number = 5 + "";
console.log(converted_number);
// 5console.log(typeof converted_number);
// string

4. 将字符串转换为数字

用 + 运算符即可。

请注意这里的用法,因为它只适用于“字符串数字”。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
the_string = "123";
console.log(+the_string);
// 123the_string = "hello";
console.log(+the_string);
// NaN

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

每天我都在随机排来排去……

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(my_list.sort(function() {    return Math.random() - 0.5}));
// [4, 8, 2, 9, 1, 3, 6, 5, 7]

6. 展平多维数组

只需使用 Spread 运算符。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var entries = [1, [2, 5], [6, 7], 9];
var flat_entries = [].concat(...entries);
// [1, 2, 5, 6, 7, 9]

7. 短路条件

举个例子:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if (available) {    addToCart();}

只需使用变量和函数就能缩短它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
available && addToCart()

8. 动态属性名称

我一直以为我必须先声明一个对象,然后才能分配一个动态属性。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const dynamic = 'flavour';
var item = {    name: 'Coke',    [dynamic]: 'Cherry'}console.log(item);
// { name: "Coke", flavour: "Cherry" }

9. 使用 length 调整大小 / 清空数组

基本上就是覆盖数组的 length。

如果我们要调整数组的大小:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var entries = [1, 2, 3, 4, 5, 6, 7];
console.log(entries.length);
// 7entries.length = 4;console.log(entries.length);
// 4console.log(entries);
// [1, 2, 3, 4]

如果我们要清空数组:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var entries = [1, 2, 3, 4, 5, 6, 7];
console.log(entries.length);
// 7entries.length = 0;
console.log(entries.length);
// 0console.log(entries);
// []

你也在搜寻 JavaScript hacker 技巧的话,希望本文对你有帮助。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 InfoQ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【译】9个强大的JavaScript技巧
但是,如果站点无法在用户的Internet Explorer 11浏览器中运行,他们不会在乎我的优化代码。
Jimmy_is_jimmy
2019/12/16
3910
【译】9个强大的JavaScript技巧
【译】9个强大的JavaScript技巧
但是,如果站点无法在用户的Internet Explorer 11浏览器中运行,他们不会在乎我的优化代码。
Jimmy_is_jimmy
2020/10/15
4180
有个开发者总结这 15 优雅的 JavaScript 个技巧
JavaScript 有很多很酷的特性,大多数初学者和中级开发人员都不知道。今天分享一些,我经常在项目中使用一些技巧。
前端小智@大迁世界
2022/06/15
7320
有个开发者总结这 15 优雅的 JavaScript 个技巧
你应该知道的13个有用的JavaScript数组技巧
数组是Javascript最常见的概念之一,它为我们提供了处理数据的许多可能性。您可以在编程开始之初就了解它,在本文中,我想向您展示一些您可能不知道并且可能非常有用的技巧。有助于编码!让我们开始吧。
winty
2020/02/21
6110
12个非常有用的JavaScript技巧
在这篇文章中,我将分享12个非常有用的JavaScript技巧。这些技巧可以帮助你减少并优化代码。  1) 使用!!将变量转换成布尔类型 有时,我们需要检查一些变量是否存在,或者它是否具有有效值,从而将它们的值视为true。对于做这样的检查,你可以使用||(双重否定运算符),它能自动将任何类型的数据转换为布尔值,只有这些变量才会返回false:0,null,"",undefined或NaN,其他的都返回true。我们来看看这个简单的例子:  Js代码  function Account(cash) { 
hbbliyong
2018/03/06
7540
13个超实用的JavaScript数组操作技巧
英文原文:https://www.blog.duomly.com/13-useful-javascript-array-tips-and-tricks-you-should-know/
JowayYoung
2020/09/10
5470
12个JavaScript技巧
在这篇文章中将给大家分享12个有关于JavaScript的小技巧。这些小技巧可能在你的实际工作中或许能帮助你解决一些问题。 使用!!操作符转换布尔值 有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有效值,如果存在就返回true值。为了做这样的验证,我们可以使用!!操作符来实现是非常的方便与简单。对于变量可以使用!!variable做检测,只要变量的值为:0、null、" "、undefined或者NaN都将返回的是false,反之返回的是true。比如下面的示例: function Accoun
hbbliyong
2018/03/06
6740
33个有用的 JavaScript 小技巧
作为开发人员,我体验到学习是一个持续的过程。随着每年都有新技术的出现与技术升级,我们都需要相应地进行技术更新,并且在工作和项目中进行充分利用它。
前端达人
2021/07/16
1.2K0
12 个 JS 技巧
在这篇文章中,将分享 12 个非常有用的 JavaScript 技巧,可以帮助你写出简洁且高性能的代码。
grain先森
2019/04/29
9880
12 个 JS 技巧
12个有用的JavaScript数组技巧
数组是Javascript最常见的概念之一,它为我们提供了处理数据的许多可能性,熟悉数组的一些常用操作是很有必要的。
IT工作者
2022/02/14
3030
12个非常有用的JavaScript技巧
在这篇文章中,我将分享12个非常有用的JavaScript技巧。这些技巧可以帮助你减少并优化代码。 1) 使用!!将变量转换成布尔类型 有时,我们需要检查一些变量是否存在,或者它是否具有有效值,从而将它们的值视为true。对于做这样的检查,你可以使用||(双重否定运算符),它能自动将任何类型的数据转换为布尔值,只有这些变量才会返回false:0,null,"",undefined或NaN,其他的都返回true。我们来看看这个简单的例子: function Account(cash) { this
CSDN技术头条
2018/02/12
7840
【JS】210-11个教程中不常被提及的JavaScript小技巧
有一些在日常工作中经常出现却容易被忽略的JavaScript小技巧,作者从中选取了11个教程中不常被提及的案例,供大家一起学习!
pingan8787
2019/07/23
4810
使用JavaScript的一些小技巧
https://www.w3cplus.com/javascript/javascript-tips.html
@超人
2021/02/26
1.7K0
使用JavaScript的一些小技巧
JavaScript 数组 API 全解析
在编程世界中,数组是指元素的集合。数组将数据作为元素进行存储,并在需要时将其取出。
若川
2021/07/19
2.4K0
JavaScript 数组 API 全解析
【Java 进阶篇】JavaScript Array数组详解
当我们编写JavaScript代码时,经常需要处理一组数据。JavaScript中的数组(Array)是一种用于存储多个值的数据结构,它提供了许多方法和功能,使我们能够方便地操作这些数据。在本篇博客中,我们将详细探讨JavaScript数组,包括如何创建、操作、遍历和使用数组。
繁依Fanyi
2023/10/19
2550
你不得不看的81条JavaScript编码小技巧,吐血整理,建议收藏
对于不包含大逻辑的 if-else 条件,可以使用下面的快捷写法。我们可以简单地使用三元运算符来实现这种简化。
CherishTheYouth
2021/08/31
2.2K0
JavaScript 又出新特性了?来看看这篇就明白了
https://juejin.im/post/5ca2e1935188254416288eb2
崔庆才
2019/05/06
1.6K0
《JavaScript权威指南》——JavaScript核心
前言 这本由David Flanagan著作,并由淘宝前端团队译的《JavaScript权威指南》,也就是我们俗称的“犀牛书”,算是JS界公认的“圣经”了。本书较厚(有1004页),读起来颇费功夫,但作为JavaScript(下文简称:JS)相关从业者,我还是鼎力推荐,一定要读完这本经久不息,好评如潮的JS“圣经”(如果您有耐心的读完,觉得还不错的,博客最后附有购买本书的优惠券,可自行领取)。 说完本书重要性,下面重点介绍一下本书作者写书的逻辑性,简单来说本书分为四部分,第一部分:JS核心;第二部分:客户端
磊哥
2018/05/08
1.2K0
分享一些对你有帮助的JavaScript技巧
JavaScript也不例外。对于JavaScript,我们经常会发现,为了一个相似的结果,我们可以用多种方式来做事情,这有时会让人感到困惑。 有些用法比其他替代方法更好。
程序员海军
2021/10/11
1.4K0
分享一些对你有帮助的JavaScript技巧
分享7个实用的 JavaScript 方法技巧
在本文中,我收集了一些关于JavaScript 技巧和窍门,我相信它们可以让你成为更好的 JavaScript 开发人员。没有特别的顺序,这里一共收集整理了7个 JavaScript 技巧!
前端达人
2021/07/16
8970
推荐阅读
相关推荐
【译】9个强大的JavaScript技巧
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验