初学JS必会的10种JavaScript代码优雅写法

当我们刚开始学习JS代码时,我们只需要掌握JS中对应知识点就好,随着对JS代码的熟悉程度,我们就要思考如何写出更优雅,更简洁的代码。

接下来我分享10种常用JS代码功能,通过常规写法和优雅写法的对比,来体现其优雅和简洁性。代码中用了ES6新特性,如果你对ES6不了解,可以先收藏好。在后期的VUE中,基本都在和ES6打交道。

常规写法

利用concat方法来合并数组

优雅写法

利用ES6中的…扩展运算符来合并数组

常规写法

利用数组下标一个一个从数组中取数据

优雅写法

利用ES6的解构赋值来取值

常规写法

对象.属性名 的方式获取属性值

优雅写法

利用ES6的解构赋值来实现

常规写法

利用for循环来遍历数组,从而取值

优雅写法

利用ES6的for … of来遍历数组取值

常规写法

forEach中回调函数为普通函数

优雅写法

forEach中回调函数为箭头函数,如果箭头函数中只有一句代码,则可以省略{ }

常规写法

数组中保存着每一条水果的信息,我们通过输入水果名,到数组中查找到对应的信息。

利用常规的for循环遍历来查找。

优雅写法

利用数组的find方法来实现搜索

常规写法

利用parseInt来实现

优雅写法

利用+ 号来实现,不过只针对纯数字的字符串有效

常规写法

通过if判断,如果为null,则初始化值为“普通用户”

优雅写法

通过 || 或短路运算符来实现

常规写法

优雅写法

常规写法

利用for循环来遍历

优雅写法

利用es6的扩展运算符和解构赋值来实现

最后我想告诉大家一个好消息,为了帮助关注我的同学,我们创建了《30天挑战学习计划》,全程免费,不涉及任何费用和利益,具体内容为以下4部分

1、HTML5+CSS3核心知识

2、30个HTML5+CSS3案例

3、2个PC+移动+响应式综合项目实战

4、网站全面上云部署与发布

接下来我来详细介绍下这个课程体系!

为帮助到一部分同学不走弯路,真正达到一线互联网大厂前端项目研发要求,首次实力宠粉,打造了《30天挑战学习计划》,内容如下:

HTML/HTML5,CSS/CSS3,JavaScript,真实企业项目开发,云服务器部署上线,从入门到精通

  • PC端项目开发(1个)
  • 移动WebApp开发(2个)
  • 多端响应式开发(1个)

共4大完整的项目开发 !一行一行代码带领实践开发,实际企业开发怎么做我们就是怎么做。从学习一开始就进入工作状态,省得浪费时间。

从学习一开始就同步使用 Git 进行项目代码的版本的管理,Markdown 记录学习笔记,包括真实大厂项目的开发标准和设计规范,命名规范,项目代码规范,SEO优化规范

从蓝湖UI设计稿 到 PC端,移动端,多端响应式开发项目开发

  • 真机调试,云服务部署上线;
  • Linux环境下 的 Nginx 部署,Nginx 性能优化;
  • Gzip 压缩,HTTPS 加密协议,域名服务器备案,解析;
  • 企业项目域名跳转的终极解决方案,多网站、多系统部署;
  • 使用 使用 Git 在线项目部署;

这些内容在《30天挑战学习计划》中每一个细节都有讲到,包含视频+图文教程+项目资料素材等。只为实力宠粉,真正一次掌握企业项目开发必备技能,不走弯路 !

过程中【不涉及】任何费用和利益,非诚勿扰 。

如果你没有添加助理老师微信,可以添加下方微信,说明要参加30天挑战学习计划,来自头条号!老师会邀请你进入学习,并给你发放相关资料

值得学习的 10 个 代码知识库,助你进阶 JavaScript

今天给大家分享 10 个 JavaScript 知识仓库

英文名:33 Concepts Every JavaScript Developer Should KnowJavaScript

顾名思义,这个存储库包含每个“优秀” Javascript 开发人员都应该了解的 33 个 Javascript 概念的列表

每个概念还有一堆学习资源可以让您进一步了解它,并且通过分享的各种文章和视频,想学好它都很难

仓库地址:https://github.com/stephentian/33-js-concepts

英文名:Javascript questions

这个代码仓库的作用是:

  • 测试你对 JavaScript 的了解程度,
  • 刷新一下你的知识,
  • 准备前端面试!

它包含从基础到高级的问题,并定期更新新问题。每个问题的答案都存在于每个问题下方的折叠部分中,您可以单击以展开(但不要作弊!!!)

如果您是那种遵循“每天解决一个问题,远离失业”的人,那么这对您来说这是个好东西

仓库地址:https://github.com/lydiahallie/javascript-questions

英文名:You don\’t know JS

如果你想从头到尾地学习这门语言,那么这就是你应该去的地方。这是一系列书籍,旨在将你从新手变成经验丰富的开发人员,让他们对 Javascript 幕后工作原理有深入的了解。

它深入探讨了 Javascript 语言的核心机制,并且完全免费在线提供。

如果你想牢牢掌握这门语言,你就不能错过这一篇!

仓库地址:https://github.com/getify/You-Dont-Know-JS

英文名:Airbnb Javascript style guide

这是当今互联网上最著名的 Javascript 资源之一,这是理所当然的。

它包含一套 Javascript 编码指南和最佳实践,最初由 Airbnb 的工程团队编写。

它涵盖了 Javascript 的各个方面,并针对大量主题提供了详细的建议。

完全值得一看!

仓库地址:https://github.com/airbnb/javascript

英文名:Tech interview handbook

如果您正在阅读本文,那么您很可能在某个时候会参加技术面试。

因此,这对您来说可能是非常有用的资源。

这本手册已使超过 500,000 人受益,它使您免去了有时推荐的死记硬背练习竞争性编程问题的麻烦。

该存储库具有实用的内容,涵盖了技术面试的所有阶段,从投递简历到通过面试再到报价谈判。

仓库地址:https://github.com/yangshun/tech-interview-handbook

英文名:The Algorithm – Javascript

这是互联网上另一个广受欢迎的资源,非常值得一试。它专注于在 Javascript 中实现各种数据结构和算法,从排序和搜索等基本数据到动态编程等复杂数据结构和算法。

您将找到每个内容的详细解释代码片段!

仓库地址:https://github.com/TheAlgorithms/Javascript

英文名:Awesome Javascript

这个仓库库包含一系列很棒的浏览器端库、资源和其他闪亮的东西,全部用 Javascript 编写。

它涵盖了从包管理器、加载器、捆绑器和转译器UI 工具、实用程序、手势、地图、动画等等的一切。

如果任何浏览器端魔法可以使用 Javascript 完成,那么您很可能会在此处找到它。

一定要开始这个并保留它以供将来参考。

仓库地址:https://github.com/sorrycc/awesome-javascript

英文名:WTFJS

如果您一直在使用 Javascript 进行开发,那么您很可能每隔一段时间就会遇到一些奇怪的事情。

作为一种语言,Javascript 充满了这些棘手的小事情,有时这些事情很烦人。

如果以上两句话中的任何一句话引起了您的共鸣,那么就不要再犹豫了。

该存储库包含许多此类概念的列表,这些概念对于新开发人员来说很难理解。

跳进去玩得开心!

仓库地址:https://github.com/denysdovhan/wtfjs

英文名:Effective Engineer Notes

“他们是把事情做好的人。高效的工程师会创造成果。”

如果你想成为一名高效的工程师,你就必须在职业生涯中学习、忘却、重新学习很多东西。

因此,这个要点将帮助您采取正确的心态并知道该做什么以及不该做什么。

如果您正确利用它,这可能是最有用的资源之一!

仓库地址:https://gist.github.com/rondy/af1dee1d28c02e9a225ae55da2674a6f

英文名:Free programming books

无论我观看多少课程、观看多少 YouTube 视频,书籍仍然是学习新东西的黄金标准。

如果您像我一样,那么这个存储库适合您。

它是任何人都可以免费获取的编程书籍合集。

它是最著名的存储库之一,在 Github 上拥有超过 271,000 颗星。

非常值得一看!

仓库地址:https://github.com/EbookFoundation/free-programming-books

127个常用的JS代码片段,每段代码花30秒就能看懂(一)

JavaScript 是目前最流行的编程语言之一,正如大多数人所说:“如果你想学一门编程语言,请学JavaScript。”

FreeCodeCamp的创始人 Quincy Larson 在最近的一次采访中被问到哪种语言开发人员应该首先学习。他回答:“ JavaScript。”

“软件正在吞噬世界,JavaScript正在吞噬软件。JavaScript每年都在变得越来越占主导地位,而且没人知道最终会取代它的是什么。\” 如果您没有充分的理由学习一种新语言(例如您的工作要求您维护非JavaScript代码库),那么我的建议是着重于提高JavaScript的水平。”

听我说这么多,你是不是很激动呢。这里有127端常用的JS代码片段,方便你学习和使用。

如果数组所有元素满足函数条件,则返回true。调用时,如果省略第二个参数,则默认传递布尔值。

判断数组中的元素是否都相等

此代码示例检查两个数字是否近似相等,差异值可以通过传参的形式进行设置

此段代码将没有逗号或双引号的元素转换成带有逗号分隔符的字符串即CSV格式识别的形式。

此段代码将数组元素转换成<li>标记,并将此元素添加至给定的ID元素标记内。

此段代码执行一个函数,将剩余的参数传回函数当参数,返回相应的结果,并能捕获异常。

此段代码返回两个或多个数的平均数。

一个 map()函数和 reduce()函数结合的例子,此函数先通过 map() 函数将对象转换成数组,然后在调用reduce()函数进行累加,然后根据数组长度返回平均值。

此函数包含两个参数,类型都为数组,依据第二个参数的真假条件,将一个参数的数组进行分组,条件为真的放入第一个数组,其它的放入第二个数组。这里运用了Array.prototype.reduce() 和 Array.prototype.push() 相结合的形式。

此段代码将数组按照指定的函数逻辑进行分组,满足函数条件的逻辑为真,放入第一个数组中,其它不满足的放入第二个数组 。这里运用了Array.prototype.reduce() 和 Array.prototype.push() 相结合的形式,基于函数过滤逻辑,通过 Array.prototype.push() 函数将其添加到数组中。

用于检测页面是否滚动到页面底部。

此代码返回字符串的字节长度。这里用到了Blob对象,Blob(Binary Large Object)对象代表了一段二进制数据,提供了一系列操作接口。其他操作二进制数据的API(比如File对象),都是建立在Blob对象基础上的,继承了它的属性和方法。生成Blob对象有两种方法:一种是使用Blob构造函数,另一种是对现有的Blob对象使用slice方法切出一部分。

将字符串的首字母转成大写,这里主要运用到了ES6的展开语法在数组中的运用。

将一个句子中每个单词首字母转换成大写字母,这里中要运用了正则表达式进行替换。

此段代码将非数值的值转换成数组对象。

将数组中移除值为 false 的内容。

统计数组中某个值出现的次数

此代码段使用 existSync() 检查目录是否存在,然后使用 mkdirSync() 创建目录(如果不存在)。

返回当前访问的 URL 地址。

返回当前是今年的第几天

将字符串的首字母转换成小写字母

今天的内容就和大家分享到这里,感谢你的阅读,如果你喜欢我的分享,麻烦给个关注、点赞加转发哦,你的支持,就是我分享的动力,后续会持续分享剩余的代码片段,欢迎持续关注。

本文原作者:Fatos Morina

来源网站:medium

注:并非直译

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。