20个对JavaScript 开发人员的超级有用的技巧

2021-09-07

JavaScript 是流行编程语言之一,也是许多开发人员最喜欢的语言之一。你可以用它构建 Web 或移动混合应用程序,甚至是机器人开发学习。该语言对于初学者来说,也不是那么困难。
但是,你有一些现实生活中的问题需要在 JavaScript 中解决。其中一些你可以快速解决,而其中一些则很棘手。
今天,在本文中,我们将介绍 20 个技巧,这些技巧可以更好地编码,以更好、更轻松地的方式解决 JavaScript 中的问题。这些技巧可能对专业开发人员有所帮助,但对新开发人员来说也会很有趣。
1、数字转换字符串/字符串转换数字
这个技巧很简单,它可以帮助你将数字转换为字符串或将字符串转换为数字。查看下面的代码示例以了解转换的工作原理。
// number to stringlet num1 = 4let string1 = num1.toString();// string to numberlet string2 = "5"let num2 = Number(string2)

2、短循环

在 JavaScript 中,你通常知道编写多行循环,但你却很少使用编写仅一行的短循环。想知道怎么做?查看下面的示例代码。

const ProgrammingLang = ["JavaScript", "Python", "C++", "Dart", "Java"]// Long Loop Versionfor (let i = 0; i < ProgrammingLang.length; i++) {  const lang = ProgrammingLang[i];  console.log(lang);}// Short Loop Versionfor (let lang of ProgrammingLang) console.log(lang);

3、性能计算

这个技巧将帮助你计算代码性能,与在 Google Chrome 上完成的性能计算相同。

const startTime = performance.now();something();const endTime = performance.now();console.log("function took ${startTime - endTime} milliseconds");

4、以简单的方式交换值

当你需要在没有任何额外变量(如 temp)的情况下交换值时,这个技巧对你来说会很方便。这个技巧是交换值的一种简单快捷的方法。

let a = 5; let b = 6;[a, b] = [b, a]console.log(a) // 6console.log(b) // 5

5、合并数组

这个技巧将帮助你将数组合并为一个数组。查看下面的代码以了解它是如何工作的。

const names1 = ["Haider", "John", "Jessica"];const names2 = ["Ferb", "Emma", "Watson"];const allnames = [...names1, ...names2];console.log(allnames); // ["Haider", "John", "Jessica", "Ferb", "Emma", "Watson"]

6、以简单的方式删除重复项

这个技巧将帮助你在短时间内以简单的方式从数组中删除所有重复项。

const fruits = ["apple", "mango", "orange", "apple", "pineapple", "pineapple", "peach", "mango"]const fruiteWithoutDupli = [...new Set(fruits)];console.log(fruiteWithoutDupli) // [ "apple", "mango", "orange", "pineapple", "peach" ]

7、验证给定的参数是数字

这个技巧将向你展示如何验证你在函数中传递的参数是否为数字。

function isNumber(num){    return !isNaN(parseFloat(num)) && isFinite(num);}isNumber(34) // trueisNumber('JavaScript') // false

8、验证给定参数是一个数组

本技巧将向你展示如何验证在函数中传递的参数是否为数组。

function isArray(arr){    return Object.prototype.toString.call(arr) === '[object Array]' ;}isArray([34]) // trueisArray('JavaScript') // false

9、清空数组

这是在一行代码中完全清空数组的最酷技巧。查看下面的代码以了解它是如何工作的。

var array1 = [ "JavaScript", "Python", "C++" ];array1.length = 0;console.log(array1) // [] array will become empty

10、从数组中获取最大值和最小值

本技巧将指导你以快速简便的方式从数组中查找最小值和最大值。现在你不需要为此问题编写长循环即可实现这一功能。

var  numbers = [1, 6, 2, 8, 10, 11 ,24, 3, 9];var max = Math.max.apply(Math, numbers); // 24var min = Math.min.apply(Math, numbers); // 1

11、 数组中的随机项

在本技巧中,我将向你展示如何从数组中获取随机项。这个随机项可以是字符串或整数或任何数据类型。

var items = [1, 4, 5, 6, 7, 8];var  randomItem = items[Math.floor(Math.random() * items.length)];console.log(randomItem) // 4

12、错误处理

有时会出现不寻常的错误,并使开发人员处理这些错误成为一个问题。这个技巧在这方面很有用。我将向你展示如何在不终止整个程序的情况下使用 try-except 语句处理错误。

var items = [1, 4, 5, 6, 7, 8];try {  console.log(items[2])}catch (error){  console.log("we got an error")}

13、 缩短你的数组

缩短数组的一个好方法是使用长度方法。这个技巧将指导你使用长度方法来缩短数组,我认为这是一种快速简便的方法。但这一种破坏性的方式,这意味着你可能会丢失数组中其他已删除的元素。

var items = [1, 4, 5, 6, 7, 8];items.length = 4console.log(items) //[1, 4, 5, 6]

14、 避免在循环中使用 For —

你应该避免使用 for-in 循环。取而代之的是,你应该使用比 for-in 循环快得多的普通循环。

// for in loopvar numbers = [1, 3, 4, 5]var sum = 0;  for (var i in numbers) {      sum += numbers[i];  }// instead use thisvar numbers = [1, 3, 4, 5]var sum = 0;  for(var i=0; i < numbers.length; i++){  sum +=numbers[i];}

15、使用map函数在数组中循环

循环数组是一个耗时且代价高昂的问题,但我们可以使用 map 函数以更快的方式完成此操作。本技巧将向你展示如何使用 map 函数循环遍历数组。

var squares = [1,2,3,4].map(function (val) {      console.log(val)}); // Output// 1// 2// 3// 4

16、逗号运算符

这个技巧将帮助你理解逗号运算符。逗号运算符 (,) 计算其每个操作数(从左到右)并返回最后一个操作数的值。

var a = 1var b = (a++, 3)console.log(a) // 2  value of 'a' is increamentedconsole.log(b) // 3

17、使用正则表达式替换所有字符

我们可以使用正则表达式替换字符串中的所有字符。以下将向你展示如何做到这一点。

var string = "JavaScript"; console.log(string.replace(/Script/, "code"));  //Javacode

18、数组中所有值的总和

如你所知,我们必须使用循环来计算数组中所有值的总和。但是,这个技巧将帮助你在没有任何循环的情况下计算数组值的总和。

var values = [1, 2, 5, 6];var sum = values.reduce((x, y) => x + y);console.log(sum); // 14

19、 打乱数组的元素

这个技巧很棒,将指导你如何以简单的方式打乱数组的元素。

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

20、等号 (== , ===)

在 JavaScript 中,我们不使用“==”来比较值或数据;我们总是使用“===”。如果你尝试使用双重赋值运算符,则会给你带来问题。

// wrong wayif(22 == '22'){  console.log(true)}//correct wayif(22 === "22"){  console.log(true)}else{  console.log(false)}

最后想法

好吧,我知道还有许多其他有关于JvavScript的技巧,但是,今天这20个技巧对我来说很有用(我认为它们对初学者开发人员很有帮助)。

如果我错过了任何重要的JvavScript技巧,请在留言区告诉我,让我知道,非常感谢。

在此,我希望你将来会发现这篇文章对你有所帮助。

英文 | https://javascript.plainenglish.io/20-awesome-tips-for-better-and-more-professional-coding-with-javascript-2becaedb5f9
翻译 | 杨小二
(0)

相关推荐

  • javascript 数组 对象的一些方法记录

    记录一下常用的数组和对象的一些方法 数组 push() 数组后添加元素 // 作用:把一个元素或多个元素,从数组后面添加到数组里面: // 参数:添加的数据 // 返回:添加后的数组的长度: let ...

  • ES6 常用特性总结

    一.ES6 基本认识 1.什么是 ES6? ES6 指的是 ECMAScript 6.0,是JavaScript 语言的一个标准.其目标是使JavaScript 可以用来编写复杂的大型的应用程序,成为 ...

  • JavaScript 里三个点 ... 的用法

    Three dots ( - ) in JavaScript Rest Parameters 使用 rest 参数,我们可以将任意数量的参数收集到一个数组中,然后用它们做我们想做的事情. 引入了其余参 ...

  • 聊聊JavaScript在工作中常用的方法(一)

    一.字符串转数组(split方法) 废话少说,直接上代码: //例子1 var str="abc,def,ghi"; var strArray=str.split(",& ...

  • JavaScript

    简介 JavaScript是一门动态弱类型的解释型编程语言.是可插入 HTML 页面的编程代码,插入 HTML 页面后,可由所有的现代浏览器执行.从而增强页面动态效果,实现页面与用户之间的实时动态的交 ...

  • Nice!JavaScript基础语法知识都在这儿了

    好好学习,天天向上 本文已收录至我的Github仓库DayDayUP:github.com/RobodLee/DayDayUP,欢迎Star ⭐⭐⭐⭐⭐转载请注明出处!⭐⭐⭐⭐⭐ 链接:https:/ ...

  • 为什么 Web 开发人员需要学习一个 JavaScript 框架?

    原文链接 可能当我们结束本文时,一个新的 Javascript 框架已经在某处启动了.但这确实不在我们的控制范围内.因此,我们应该简单地继续我们所拥有的.至少,由于免责声明,我们可以确定我们不是在发明 ...

  • 70万行代码、历时20年,一名开发人员写出的史诗般的计算机程序

    "开发到死,永不停更." 如果要问有史以来最史诗般的计算机程序是什么,<矮人要塞>一定榜上有名.这是一款 2006 年面世的游戏,开创性地将"先设定好基本规则 ...

  • 开发人员都应该了解的 7 种 JavaScript 设计模式

    开发人员将 JavaScript 设计模式作为解决问题的模板是很合适的,但并不是说这些模式可以代替开发人员的工作. 通过设计模式,我们可以将许多开发人员的经验结合起来,以优化过的方式来构造代码,从而解 ...

  • 作为开发人员,AI领域界分成几个层次?

    目前很多人都想要学习人工智能知识,入门人工智能行业.为了能够顺利成为人工智能行业中的一员,需要对AI领域的信息有更多的了解. 作为开发人员,AI领域界可以分成以下几个层次: 1.学术研究者.他们的工作 ...

  • 华为Mate 20支持反向无线充电,40w超级快充

    之前一直比较追捧苹果的发布会,但是自从库时代,创新是越来越少,特别是今年的新款iPhone Xs仍然只标配了5W充电头,而苹果官方的快充头又昂贵,使用成本并不低!今天看华为Mate20# 发布会,42 ...

  • 开发人员怎样参与需求讨论?

    作为GJB5000A的实施者,我们都知道需求管理过程域要求"获得对需求的一致理解",为了满足这一要求,我们通常的做法是让开发人员参与需求的讨论,并且期望在讨论中达成这一目标. 可是 ...

  • 开发人员解决不了管理烂的问题

     · 13小时前 我经常看到一些文章指责开发人员不理解他们为什么要做改变,不理解背后的"为什么"就盲目地实现改变是错误的. 编者按:本文来自微信公众号"InfoQ&quo ...

  • 开发人员如何规划自己的职业生涯

    听从心的召唤 在评估过自己的能力,特长和专业方向之后,一定要顺从心的选择.很多年轻人容易被物质条件,社会评价和同类攀比等多种因素影响了自己的判断和选择.相信自己的直觉,在判断自己的职业前景时一定要让心 ...

  • 如何形成开发人员与用户交流的统一语言?

    信息在传递过程中是层层衰减的. 所以,当需求从用户传递到开发人员那里时,开发人员所理解并接受的需求已经不是原来用户想要的需求. 需求误解不仅仅是因为文字容易产生歧义,还由于用户和开发人员的知识背景不同 ...