JavaScript中的编程规范

我们经常写前端代码,但是你知道js或者说整个编程,都是有一些编程规范的,和语言无关。作为前端开发,我们也要有所了解。
编程规范,主要分为三大类
1 面向过程
这个就是最简单的,我们平时基本写的一些代码,基本都是面向过程的。第一步先做什么,第二步在做什么,以此类推实现需求就是面向过程。
面向过程是最符合我们日常规律的。
2面向对象
面向对象是对面向过程的一种抽象。它的特点是把整体的功能组成一个一个的对象。不同的对象之间有自己的属性和方法,实现功能通过这些方法去实现。
业务逻辑比较强的需求,适合用面向对象去写。
3 函数式编程
函数式编程不会把一类功能组成对象,而是把功能细分成一个一个的单独的函数,每个函数都能实现一个功能。通过函数之间的调用来实现需求。

使用函数式编程的好处:

1 函数式编程可以提高复用性和可扩展性。
因为每个函数都是一个独立的小功能,我们可以把他看成一个积木,可以用来拼不同的玩具。
2 函数式编程有利于前端性能优化的摇树优化。
摇树优化是一个术语,tree shaking。就是当我们在项目中引入其他模块时,他会自动将我们用不到的代码,或者永远不会执行的代码摇掉。
如果采用的是函数式编程的方法,比如在webpack打包的过程中,就会自动去实现tree shaking,可以优化代码,减少代码体积。

丁鹿学堂:js之函数式编程的优势相关推荐

  1. 丁鹿学堂:js字符串转数组常用方法总结

    我们在前端实际开发过程中,用的最多的是数组.而且js也为数组提供了大量的api,方便我们处理数据. 在实际开发过程中,我们经常需要做的一点就是把字符串转为数组,利用数组的数据结构和api,可以很方便的 ...

  2. 前端培训,丁鹿学堂和达内浅析

    真是很巧,这两家一个是主打线下的,一个是线上的,也算是两种模式的典型代表了. 达内我是了解的.如果你是北京的,可以去现场听,但是如果不是,就只能听看老师直播了,再配上助教老师,就构成了线下.这个模式好 ...

  3. 学前端报面授,还是慕课网或者丁鹿学堂?

    首先我是不建议报线下班的,线下班学员水平参次不齐,有你这种自学了一段时间插进去的,有零基础小白的,我知道的还有26个字母都不熟的,这就有一个问题,老师想要兼顾那么多人导致进度拖沓,自己不懂的也很难及时 ...

  4. Js中函数式编程的理解

    函数式编程的理解 函数式编程是一种编程范式,可以理解为是利用函数把运算过程封装起来,通过组合各种函数来计算结果.函数式编程与命令式编程最大的不同其实在于,函数式编程关心数据的映射,命令式编程关心解决问 ...

  5. JS中函数式编程基本原理简介

    作者:TK  译者:前端小智  来源:medium 为了保证的可读性,本文采用意译而非直译. 在长时间学习和使用面向对象编程之后,咱们退一步来考虑系统复杂性. 在做了一些研究之后,我发现了函数式编程的 ...

  6. JS函数——函数式编程

    文章目录 前言 一.什么是函数式编程? 二.为什么使用函数式编程? 1. 函数式编程能提高复用性和可拓展性 2. Tree-shaking(摇晃树webpack中的功能) 3. 如何写好函数式编程? ...

  7. JS中函数式编程详解版(FunctionalProgramming,FP)

    函数式编程详解 函数式编程的认识 函数式编程前置知识 函数是一等公民(First-class Function) 高阶函数 闭包 函数式编程基础 纯函数 lodash 模块 柯里化 函数组合 函子 函 ...

  8. 丁鹿学堂:2023前端开发vue3入门指南(vu3视图自动绑定案例解析)

    vue3中数据和视图自动绑定 vue3中data中的数据,会自动和使用它的视图绑定,数据发生变化时视图会自动更细,无需我们手动操作dom 案例:创建一个按钮,记录点击次数. <!DOCTYPE ...

  9. 丁鹿学堂:前端进阶学习vue3最新教程之vue的单文件组件深入理解

    在vue3中,template模版中的html代码,并不能直接在网页中执行,而是会在项目运行时,在浏览器中被编译为js 的函数去执行. 问题:在template模版中写html,体验很差,智能提示都不 ...

最新文章

  1. [Erlang-0011][OTP] External Term Format
  2. C# NameValueCollection集合 (转)
  3. Linux下访问window挂载的磁盘
  4. C#使用iTextSharp操作PDF文件
  5. 亿佰特串口服务器接入阿里云MQTT协议的软件配置教程
  6. 847. Shortest Path Visiting All Nodes(一)
  7. Python模块——HashLib(摘要算法)与base64
  8. office 打开时蹦出错误:无法读取源文件或磁盘
  9. 计算机考研专业课只考一科的学校汇总
  10. 计算机开机桌面黑,电脑开机后桌面自动变成黑色的
  11. python密码安全性检查代码
  12. repo命令无法从gooole的网站下载问题解决办法
  13. Android 在后台无法启动Activity
  14. 如何用ps抠出完美火焰?
  15. 2023最新最新ChatGPT超全面从基础到实战视频教程/有兴趣自己学
  16. 查看matlab当前路径,Matlab 如何查找当前路径下文件夹
  17. day01 HTMLCSS
  18. discuzapi插件_discuz! api
  19. CANoe C-V2X Demo(V2I+V2V)演示视频
  20. 【2022】58同城前端笔试

热门文章

  1. php正则表达式 域名,PHP正则表达式从url中取得域名
  2. 高危OpenSSL 漏洞可导致远程代码执行
  3. 全面认识硬盘格式化 详解硬盘低格操作方法
  4. 如何快速地将CAD转换成Excel?
  5. 联想小新Air14使用傲梅分区助手进行硬盘克隆出现的问题,克隆完显示RAW格式解决方案,win10家庭版硬盘BitLocker上锁解锁方法
  6. metrics类型 普罗米修斯_接近完美的监控系统—普罗米修斯
  7. macd的python代码同花顺_同花顺顶级MACD指标公式源码-同花顺公式 -程序化交易(CXH99.COM)...
  8. Castor xsd生成java,Can Castor handle class generation from multiple XSDs importing from a base XSD?...
  9. 字节跳动面试真题:阿里P7级别面试经验总结,满满干货指导
  10. 如何注册宝塔面板账号?