英文 | https://levelup.gitconnected.com/5-javascript-tricks-that-are-good-to-know-78045dea6678翻译 | web前端开发(ID:web_qdkf)JavaScript是目前最受欢迎的编程语言之一。就像任何其他编程语言一样,它有数十种巧妙的小技巧,你可以立即使用。这些技巧中的每一个都能完成大多数开发人员每天需要完成的任务。根据你的经验,你可能已经知道其中一些技巧,而其他一些技巧会让你大吃一惊。在本文中,我们将介绍一些技巧,这些技巧将使你成为更好的开发人员并提升你的JavaScript技能。1、Every 函数 and some 函数的巧妙使用every函数和some函数并非是所有开发人员都熟悉的函数。但是,它们在某些情况下非常有用。让我们从every函数开始。如果你想知道数组的所有元素是否都通过特定测试,则可以使用此函数。本质上,这是在遍历数组的每个元素并检查它们是否全部正确。这听起来可能有点抽象,所以让我们看下面的示例。它并不像听起来那样复杂。

const random_numbers = [ 13, 2, 37, 18, 5 ]const more_random_numbers = [ 0, -1, 30, 22 ]const isPositive = (number) => {return number > 0}random_numbers.every(isPositive); // returns truemore_random_numbers.every(isPositive); // returns false

每个函数都返回一个布尔值。如果数组中的所有元素均通过测试,则将返回true。如果数组中的元素之一未通过测试,则将返回false。如果你愿意,也可以使用匿名函数作为测试器函数:

random_numbers.every((number) => {return number > 0})

some功能几乎与every功能完全相同。只有一个主要区别:some函数测试数组中至少一个元素是否通过实现的测试。如果我们看一下前面的示例,并使用some函数而不是every函数,则两个数组都将返回true,因为两个数组都包含一个正数。

const random_numbers = [ 13, 2, 37, 18, 5 ]const more_random_numbers = [ 0, -1, 30, 22 ]const isPositive = (number) => {return number > 0}random_numbers.some(isPositive); // returns truemore_random_numbers.some(isPositive); // returns true

2、有条件地设置一个变量有条件地设置变量既容易,又可以使代码看起来更优雅。应用此技巧时无需编写if语句-就我个人而言,这是我最喜欢的JavaScript技巧之一。那么如何有条件地设置变量?

const timezone = user.preferred_timezone || 'America/New_York'

在上面的示例中,我们检查用户是否具有首选时区。如果用户具有首选时区,我们将使用该时区。如果用户没有首选时区,我们将使用默认时区,即“ America / New_York”。与使用if语句相比,此代码看起来干净得多。

let timezone = 'America/New_York'if (user.preferred_timezone) {    timezone = user.preferred_timezone}

这样,看起来是不是更加整洁?3、在数组中强制转换值有时你想将所有值都转换为数组。例如,当你使用三元等于运算符检查数组中是否存在某个数字时,就是其中一种情况。我最近遇到了一个多重选择问题。select选项的HTML值是字符串而不是整数,这很有意义。所选值的数组如下所示:

let selected_values = [ '1', '5', '8' ]

问题是我正在检查所选值的数组中是否存在某个整数。没有成功。我用了一个使用三元等于运算符的相交函数。既然'5'!== 5,我必须找到一个解决方案。我认为,最漂亮的解决方案是将数组中的所有值都转换为整数。尝试执行此操作时,我偶然发现了一个痛苦而又简单却优雅的解决方案。

selected_values = selected_values.map(Number) // [ 1, 5, 8 ]

除了将所有值都强制转换为整数,还可以通过简单地更改map函数的参数将数组中的所有值强制转换为布尔值。

selected_values = selected_values.map(Boolean)

4、对象解构一旦了解了对象解构的知识,你可能每天都会使用它。但是,到底什么是解构?解构是一种JavaScript表达式,可让你从数组,对象,映射和集合中提取数据到它们自己的变量中。它允许你一次从多个对象中提取对象的属性或从数组中提取项目。让我们看下面的示例,其中有一个用户对象。如果要将用户名存储在变量中,则必须在新行中将其分配给变量。而且,如果要将性别也存储在变量中,则必须再次执行相同操作。

const user = {name: 'Frank',age: 23,gender: 'M',member: false}const name = user.nameconst gender = user.gender

通过解构,你可以使用以下语法直接获取对象属性的变量:

const { name, age, gender, member } = user;console.log(name)   // Frankconsole.log(age)    // 23console.log(gender) // Mconsole.log(member) // false

5、更好的调试使用性能开发人员要做的一件重要的事就是调试。但是,调试不只是使用console.log在控制台中打印一堆日志消息。你是否知道控制台对象是分析代码段性能的好方法?但是,大多数开发人员仅了解调试其代码的标准console.log方法。控制台对象具有更多有用的功能。它具有time and timeEnd函数,可以帮助你分析性能。它真的很简单。在要测试的代码前面,调用console.time函数。此函数有一个参数,该参数采用描述你要分析的内容的字符串。在要测试的代码末尾,调用console.timeEnd函数。你为该函数提供与第一个参数相同的字符串。然后,你将在控制台中查看运行代码所花费的时间。

console.time('loop')  for (let i = 0; i < 10000; i++) {       // Do stuff here }  console.timeEnd('loop')

总结使用JS时,有很多的开发小技巧,这列举了其中几个,我认为比较实用的小技巧,希望对你有帮助,也非常感谢你的阅读。

javascript获取系统时间时区_5个JavaScript技巧让你成为更好的开发者相关推荐

  1. javascript获取系统时间时区_javascript怎么获取显示系统时间?

    JavaScript可以使用date()方法获取系统时间,使用getYear().getMonth().getDate()等方法将系统时间转换为年月日格式,然后使用innerHTML方法将转换后的日期 ...

  2. javascript获取系统时间时区_javascript获取系统当前时间的方法

    本文实例讲述了javascript获取系统当前时间的代码.分享给大家供大家参考.具体如下: 运行效果截图如下: 具体代码如下: 获取时间 window.onload = function(){ sho ...

  3. javascript获取系统时间时区_javascript怎么获取当前时间?

    javascript怎么获取当前时间?下面本篇文章就来给大家介绍一下使用javascript获取当前时间的方法,希望对大家有所帮助. 在JavaScript中可以使用Date对象中的Date()方法来 ...

  4. javascript获取系统时间时区_详解Linux操作系统修改时间和修改时区的方法

    概述 无论在哪个操作系统上准确的时区和时间对于我们来说都非常重要,通常情况下时间错误的概率很非常低的.但是不同区域的服务器默认的时区的并不相同,如果服务器的时区与我们的时区存在差异那么时间也会错误. ...

  5. 前端——JavaScript获取系统时间以及通过ajax获取服务器时间

    很多人会通过下列方式获取系统时间,并对时间进行处理: var time,year,month,date,hours,minutes,seconds; time = new Date(); year = ...

  6. JavaScript获取系统当前日期和时间、星期几

    JavaScript获取系统当前日期和时间.星期几  方法一:  <script language="javascript">  var mydate=new Date ...

  7. JavaScript 获取当前时间time

    JavaScript 获取当前时间time 开发常用时间笔记 JS获取当前时间 Js获取当前日期时间及其它操作 ** 谨记要懂得经常在控制台输出结果 ** var myDate = new Date( ...

  8. javascript获取当前时间后按规定样式输出

    javascript获取当前时间后按规定样式输出 方法一: dateFMT(new Date()); function dateFMT(date){var y = date.getFullYear() ...

  9. javaScript获取当前时间方法

    javaScript获取当前时间方法 废话不多说直接上代码 // 换取时间日期方法 //getCurrentDate(1)获取YYYY-MM-DD //getCurrentDate(2) 获取YYYY ...

最新文章

  1. HTML初级知识点总结(1.0)
  2. hive同时不包含一些字符串_Hive中常用的字符串操作
  3. Codeforces Round #253 (Div. 1) A. Borya and Hanabi 暴力
  4. 缓存处理类(MemoryCache结合文件缓存)
  5. php管理员登录文件,快速的事情,只有管理员,PHP才能访问文件
  6. PHP后门新玩法:一款猥琐的PHP后门分析
  7. ava返回json格式的状态码数据(一)
  8. Spring Boot中使用log4j实现http请求日志入mongodb
  9. Android特效 五种Toast具体解释
  10. python-索引1909
  11. oracle 11 到 10 提示nologging,Oracle11g 卸载教程图解
  12. 线上风控与数据埋点三部曲(一)——流量江湖不是处女地,投放渠道需谨慎
  13. 【androidjniNDk】详细介绍每一步,让你轻松掌握android JNI NDk
  14. python 3.6.3自带的编程调试环境包括了_序章:资料预处理(python3.6 可用fortran unformatted sequencial data读取模块)...
  15. VC++ 应用程序无法正常启动0xc0150002
  16. 【IoT】STM32 文件系统 fatfs 移植笔记详解
  17. Linux系统有哪些?盘点常用的 8 个Linux系统!
  18. C# 解决上传附件大小限制
  19. 关于发送邮件附件中文文件名称乱码的问题
  20. java多张图片上传,前后台实现代码

热门文章

  1. 多模型不仅是不同的初始化值会得到不同状态(多态微调结构网络)
  2. python模块学习(四)
  3. Android中Google Drive显示黑屏问题分析
  4. Python 频繁读取Mysql相关问题
  5. Delphi XE5 for Android (十)
  6. MongoDB工具最新开发 源代码更新 兼 进展报告 - 集群功能开发
  7. 戴尔PowerEdge-C服务器新成员
  8. DNS MX记录一定要放在A记录之前
  9. Spark源码阅读04-Spark运行架构之Standalone运行模式
  10. 用进化算法来优化SVM的参数C和Gamma——利用SCOOP库进行分布式加速计算