iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >JavaScript的这5个技巧你知道了吗
  • 395
分享到

JavaScript的这5个技巧你知道了吗

2024-04-02 19:04:59 395人浏览 安东尼
摘要

javascript的这5个技巧你知道了吗,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。谁要是说 JavaScript 是世界上比较好的语言,

javascript的这5个技巧你知道了吗,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

谁要是说 JavaScript 是世界上比较好的语言,估计会被唾沫星子淹没。但是如果说 JavaScript  是世界上应用很广泛的编程语言,估计大部分人都没意见。尤其是有了 nodejs 之后,JavaScript 更是无孔不入。

Atwood 定律:“任何可以使用 JavaScript 来编写的应用,最终会由 JavaScript 编写。”

即便如此,JavaScript  还是有一些鲜为人知的特性和技巧,不太常见,但是非常有用。本文不打算介绍那些稀奇古怪的特性,因为除了作为茶余饭后的谈资,没什么卵用实际用途。

1.加号操作符+

确定没搞错?我小学一年级的侄子都知道啊!没错,基本的算术运算符+你肯定知道:

const two = 1 + 1;

但这里说的不是数字相加,而是将将表达式转换成数字的操作符。

console.log(+new Date()); // 1592102280555 console.log(+true); // 1 console.log(+false); // 0 const random = {   valueOf: () => Math.floor(Math.random() * 100), }; console.log(+random); // 4 console.log(+random); // 26 console.log(+random); // 47

刚接触 JavaScript  的新手可能觉得这种写法有点奇怪,数字类型转换会倾向于用Number()函数。结果是一样的,但是用+不是简洁多了?另外值得说明的是,如果对象上包含valueOf方法,+操作符会返回这个方法的结果。比如上面的例子。

2.debugger 语句

在浏览器 DevTools  上打断点调试,基本上人人都会。但是你知道怎么在代码里标记断点吗?没错,就是用debugger语句。当你想快速断点到某个指定代码位置时,这个技巧就比较方便了。

const bubbleSort = (arr) => {   const length = arr.length;   for (let i = 0; i < length; i++) {     for (let j = 0; j < length - i - 1; j++) {       if (arr[j] > arr[j + 1]) {         debugger;         [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];       }     }   }   return arr; }; console.log(bubbleSort([8, 2, 19, 8, 4, 5, 2])); // 2, 2, 4, 5, 8, 8, 19

JavaScript的这5个技巧你知道了吗

debugger

3.逗号操作符

逗号?我看你是逗我吧!真没逗你,这里说的逗号不是数组里的逗号,或者对象属性之间的逗号,而是表达式里的逗号操作符。比如const a = (1,  2),a的值就是 2。逗号操作符让多个表达式按顺序执行,并返回最后一个表达式的值。这有什么用呢?可以让代码更简洁。比如:

let money = 10; const hasStudied = false; const relax = () => console.log('relax'); const study = () => console.log('study'); // 既完成变量赋值,又执行了方法 hasStudied ? (money++, relax()) : ((money /= 2), study()); console.log(money); // study 5  // 批量定义多个变量 for (let i = 1, j = 2; i + j < 10; i++, j++) {   console.log(i, j); } // 1 2; 2 3; 3 4; 4 5;  // 不改变现有方法实现的情况下,增加逻辑 <button @click="visible = false, onConfirm()">确 定<button>

4.集合对象 Set

这是 es6 引入的数据结构集合类型  Set。学过数学的都知道,集合的特性是不包含重复元素。有一道很常见的面试题,就是数组去重问题。当然,面试题的本意可能不是让你直接用  Set,而是自己实现去重的逻辑。但是在实际工作中用来去重,它不香吗?还可以用来计算两个集合的交集:

// 数组去重 const arr = [1, 1, 7, 5, 6, 6, 6, 8, 7]; // 传统方式 let noDup = arr.filter((a, b) => arr.indexOf(a) === b); // 用 Set 更方便 noDup = [...new Set(arr)]; console.log(noDup); // 1 7 5 6 8  // 集合操作 let a = new Set('hello world!'); // "h", "e", "l", "o", " ", "w", "r", "d", "!" let b = new Set('jianshu is cool!'); // "j", "i", "a", "n", "s", "h", "u", " ", "c", "o", "l", "!" // 交集 const intersection = (a, b) => {   let intersection = new Set();   for (let elem of b) {     if (a.has(elem)) {       intersection.add(elem);     }   }   return intersection; }; console.log(intersection(a, b)); // "h", " ", "o", "l", "!"

5.原生 Date 操作

我碰到很多前端开发,凡是日期操作必用 moment.js 之类的库。不是说不能用,但是如果只是少数地方用了少数几个  api,比如简单的格式化,有必要引入一个库吗?再说了,如果碰到一些自定义需求,API  不支持怎么办?其实原生操作并没有你想象的那么麻烦,了解原理和逻辑后很快就可以自己写一个。比如格式化:

function fORMatDate(date, format) {     var calendar = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];     format = format || 'Y-m-d';     var dateObj = new Date(date);     if(isNaN(+dateObj)) {         return 'Invalid Date';     }     var year = dateObj.getFullYear(),         month = dateObj.getMonth() + 1,         date = dateObj.getDate();     return format.replace('Y', year).replace('m', month).replace('d', date).replace('M', calendar[month - 1]); }

也就几行代码的事!再比如,获取上个月的最后一天,可能 moment.js 有相关的 API,我也懒得去查了,原生也很简单:

const day1 = new Date(); day1.setDate(-1); // 难以置信,就这么简单!

看完上述内容,你们掌握JavaScript的这5个技巧你知道了吗的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网html频道,感谢各位的阅读!

--结束END--

本文标题: JavaScript的这5个技巧你知道了吗

本文链接: https://www.lsjlt.com/news/82492.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript的这5个技巧你知道了吗
    JavaScript的这5个技巧你知道了吗,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。谁要是说 JavaScript 是世界上比较好的语言,...
    99+
    2024-04-02
  • Spring异步编程的5个技巧:你知道吗?
    在现代的Web应用程序中,异步编程已经成为了不可或缺的一部分。Spring框架是一个非常流行的Java开发框架,它提供了多种异步编程的方式来帮助开发人员构建高效的Web应用程序。在本文中,我们将介绍Spring异步编程的5个技巧,让你更好...
    99+
    2023-10-08
    django spring 异步编程
  • 5个你应该知道的JavaScript技巧分别是哪些
    这篇文章将为大家详细讲解有关5个你应该知道的JavaScript技巧分别是哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。JavaScript是目前最流行...
    99+
    2024-04-02
  • ASP和JavaScript实时教程:你知道这些技巧吗?
    在Web开发中,ASP和JavaScript是两个非常重要的技术。它们可以让你创建动态的网站,实现实时交互和数据处理。在本文中,我们将介绍一些ASP和JavaScript的实时教程和技巧,帮助你更好地使用它们。 ASP是一种服务端脚本语言...
    99+
    2023-09-27
    javascript 实时 教程
  • 15个Vue技巧,你都知道吗
    目录前言1、将一个prop限制在一个类型的列表中2、使用引号来监听嵌套属性3、知道何时使用v-if4、单个作用域插槽的简写5、将局部和全局的style混合在一起6、重写子组件的样式7...
    99+
    2024-04-02
  • 你知道这些 Python 分布式缓存开发技巧吗?
    Python 分布式缓存是一种有效的提高网站性能的技术,它可以让网站在高并发访问情况下快速响应,减轻服务器的负载压力。本文将介绍 Python 分布式缓存的开发技巧,并演示一些代码实例。 使用 Redis 缓存 Redis 是一种快速、...
    99+
    2023-09-06
    分布式 缓存 ide
  • 在Python中f-string的几个技巧,你都知道吗
    目录最基础用法自记录表达式多行f-string在f-string中格式化日期控制浮点数精度标准化显示宽度修改为左对齐设置科学计数法格式控制有效数字位数f-string想必很多Pyth...
    99+
    2024-04-02
  • 用Git管理PHP和Numpy项目,这些技巧你知道吗?
    Git是一款流行的版本控制工具,可以帮助开发人员更好地管理他们的项目。在PHP和Numpy项目中,Git也可以发挥重要作用。在本文中,我们将介绍如何使用Git管理PHP和Numpy项目,并分享一些技巧和最佳实践。 一、Git基础知识 在开始...
    99+
    2023-10-24
    git 教程 numpy
  • Laravel 中的异步编程和重定向:你知道这些技巧吗?
    Laravel 是一个流行的 PHP 框架,它提供了许多有用的功能,如 MVC 架构、数据库迁移、路由和模板引擎等。在本文中,我们将介绍 Laravel 中的异步编程和重定向技巧,以及如何在代码中实现它们。 异步编程 在许多情况下,我们需要...
    99+
    2023-10-17
    异步编程 laravel 重定向
  • 这5个console.log()技巧帮你提高工作效率
    1. 使用console.time()和console.timeEnd()来测量代码执行时间:这对于调试和优化代码很有帮助。可以使用...
    99+
    2023-09-20
    工作效率
  • JavaScript和Python:你需要知道的开发技巧。
    JavaScript和Python:你需要知道的开发技巧 JavaScript和Python是两种广泛应用于Web开发、数据科学等领域的编程语言。这两种语言各自有其独特的特点和用途,但它们也有很多相似之处。在本文中,我们将介绍一些JavaS...
    99+
    2023-08-08
    apache npm javascript
  • 这5个 console.log() 技巧帮你提高工作效率
    1. 使用 console.time() 和 console.timeEnd() 来测量代码执行时间。这对于优化代码和定位性能瓶颈非...
    99+
    2023-09-22
    console.log()
  • 你知道吗?这些技巧可以让你在Python中更好地使用numpy!
    Python作为一门高效的编程语言,其强大的科学计算库numpy在数据处理、分析、建模等领域得到了广泛应用。在Python中使用numpy可以提高数据处理的速度和效率,但是要想更好地使用numpy,需要熟悉一些技巧。本文将介绍一些在Pyth...
    99+
    2023-10-20
    numpy shell laravel
  • GO语言与Apache结合,这些实时调试技巧你知道吗?
    当今互联网时代,实时性已经成为了一个非常重要的问题。要想实现高效的实时性,需要使用一些高效的技术。而GO语言和Apache结合,可以实现非常高效的实时调试技巧。本文将为大家详细介绍这些技巧。 一、GO语言和Apache结合的背景 GO语言是...
    99+
    2023-10-06
    ide 实时 apache
  • 淘宝太细了:mysql 和 es 的5个一致性方案,你知道吗?
    说在前面 在40岁老架构师 尼恩的读者交流群(50+)中,最近有小伙伴拿到了一线互联网企业如拼多多、极兔、有赞、希音的面试资格,遇到一几个很重要的面试题: 说5种mysql 和 elasticsear...
    99+
    2023-08-31
    mysql elasticsearch java 面试 数据库
  • 学习ASP框架的10个技巧,你知道几个?
    ASP框架(Active Server Pages)是微软公司推出的一种服务器端脚本语言,用于动态创建交互式网页和Web应用程序。ASP框架是一种非常流行的Web开发框架,因为它可以轻松地与其他Microsoft技术(如SQL Serve...
    99+
    2023-08-05
    框架 教程 学习笔记
  • NumPy数组索引的秘密技巧,你知道吗?
    当我们在使用NumPy处理数据时,经常会遇到需要对数组进行索引和切片的情况。虽然NumPy提供了很多基础的索引和切片操作,但是在实际应用中,我们还需要掌握一些高级的技巧来更好地处理数据。在本文中,我们将介绍一些NumPy数组索引的秘密技巧,...
    99+
    2023-08-04
    numy 索引 打包
  • PHP 和 NPM 的函数打包技巧,你知道吗?
    在前端和后端开发中,函数打包技巧是非常重要的一环。无论是在 PHP 还是 NPM 中,都有一些技巧可以帮助我们更加高效地编写和管理函数。在本文中,我们将介绍一些常用的技巧,并且会结合实例进行演示。 一、PHP 函数打包技巧 使用命名空间...
    99+
    2023-09-12
    npm 函数 打包
  • Unix 下的 Python 数组打包技巧,你知道吗?
    Python 是一种简单易用的编程语言,被广泛应用于数据分析、科学计算、Web 开发等领域。在 Python 中,数组是一种非常常见的数据结构,用于存储一组有序的数据。而数组打包则是一种常见的操作,它可以将多个数组合并成一个数组。 在 U...
    99+
    2023-11-02
    数组 unix 打包
  • 微信的这些不为人知的小技巧,你都知道哪些呢?
      随着科技的发展,手机在生活越来越重要,微信渐渐成为我们生活中沟通的重要媒介。现在很多的中老年人也开始使用微信了,但是微信上有很多功能,他们都不会使用,如果我们不在他们的身边,他们又想使用微信的话,那...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作