【JavaScript教程】注释,创建函数,忍者代码,抽象化,重用名字,垫片(Polyfills)下划线的乐趣,Polyfill 和转译器开发流程,行为驱动开发,使用 Mocha 进行自动化测试,

2023-11-01

注释

正如我们在 代码结构 一章所了解到的那样,注释可以是以 // 开始的单行注释,也可以是 /* … */ 结构的多行注释。

我们通常通过注释来描述代码怎样工作和为什么这样工作。

乍一看,写注释可能很简单,但初学者在编程的时候,经常错误地使用注释。

糟糕的注释

新手倾向于使用注释来解释“代码中发生了什么”。就像这样:

// 这里的代码会先做这件事(……)然后做那件事(……)
// ……谁知道还有什么……
very;
complex;
code;

但在好的代码中,这种“解释性”注释的数量应该是最少的。严格地说,就算没有它们,代码也应该很容易理解。

关于这一点有一个很棒的原则:“如果代码不够清晰以至于需要一个注释,那么或许它应该被重写。”

配方:分解函数

有时候,用一个函数来代替一个代码片段是更好的,就像这样:

function showPrimes(n) 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【JavaScript教程】注释,创建函数,忍者代码,抽象化,重用名字,垫片(Polyfills)下划线的乐趣,Polyfill 和转译器开发流程,行为驱动开发,使用 Mocha 进行自动化测试, 的相关文章

  • Jasmine 条件 callThrough 和 callFake

    我有一个返回函数引用的方法 function methodetobeMoked param case1 return func1 case 2 return func2 case n return funcN 我需要监视这个方法并返回特定输
  • 在使用 jQuery 拖动时向元素添加 CSS 类

    是否可以在元素被拖动到特定区域时向其添加 CSS 类 并在元素被删除后替换该类 我并不是到处寻找这个功能 而是只在特定区域寻找这个功能 是的 这当然有可能 jQuery UI 提供了一些方便的选项和事件来执行此操作 对于初学者来说 可拖动元
  • 使用 jquery 淡入/淡出

    我正在研究我的学生项目 我是新的 jquery 对于该项目 我必须使用 jquery 来增强一些功能 并且我已经学到了很多来执行基本任务 但我陷入了一些非常令人困惑的事情 我的一个脚本实际上在鼠标悬停在功能上时更改了 div 容器的图像 功
  • 如何让 Google Apps 脚本进行 SHA-256 加密?

    我需要使用文本输入 1 轮 十六进制输出 SHA 256 加密来加密字符串 这应该是一个长度为 64 的字符串 我在 Google Apps 脚本文档中尝试过的每个 SHA 256 加密模块都会返回一组数字 例如 function SHA2
  • Node + now.js + 模型-视图-控制-模式

    我正在使用基于 MVC 模式 模板和 PHP 类 的论坛软件 页面如下所示 domain com index php page Test 我想使用 Node 和 now js 在一个页面 domain com index php page
  • 为什么我的箭头函数有原型属性?

    正如文档中提到的https developer mozilla org en docs Web JavaScript Reference Functions Arrow functions https developer mozilla o
  • Chart.js - 如何将数组集合推入数据集

    我一直在尝试多种方法将数组集合推送到数据集中 任何人都可以帮助我根据下面的代码将数组推入堆积图表中 这是例子 Codepen 堆叠栏 https codepen io narendrajadhav pen abzpWam JavaScrip
  • 无法提取 Typescript 中的对象值

    我一直在尝试将 JavaScript Web 表单转换为 Typescript 但无法弄清楚如何处理以下内容 在 JavaScript 中有效 let fieldValues JSON parse cookieData let keys O
  • Facebook 登录无法在移动浏览器中使用

    我使用 react facebook login 在我的网站中实现了 facebook 登录module https github com keppelen react facebook login 我在 ComponentDidMount
  • Javascript“命名空间”和 jQuery AJAX

    我正在使用此处列出的建议 http www odetocode com articles 473 aspx http www odetocode com articles 473 aspx 使用模拟的JavaScript AJAX网络聊天系
  • React JS“this”没有按预期工作

    我有下面的代码 save function var this this console log this refs itemText this setState isEditing false function console log In
  • 如何使用javascript从特定标签获取HTML文档中的所有textNode?

    如何在不使用xpath或treewalker的情况下从单个数组中的一组特定标签中获取所有textNodes blockquote em h4 h6 p IE不允许您使用xpath和treewalker 请帮助我 如果脚本仅适用于 IE 那就
  • 根据数据更改图例颜色高图表

    我可以根据数据动态设置列的颜色 但无法弄清楚如何更改图例中的颜色 请注意 jsfiddle 最新的条形图是绿色的 但图例是蓝色的 有没有办法改变列颜色也会改变图例颜色 这是我用于列颜色的代码 jsfiddle http jsfiddle n
  • Webpack:如何将 javascript 注入 HTML 而不是单独的 JS 文件

    有没有办法让 webpack 将输出注入 HTML 而不是单独的文件 我不得不使用html webpack inline source plugin https github com DustinJackson html webpack i
  • 谷歌浏览器如何启动桌面应用程序?

    我真的不知道术语 所以我将从一个例子开始 如果我点击磁力链接 Google Chrome 会询问我是否要启动 torrent 客户端 我单击 确定 chrome 启动该应用程序 该应用程序根据链接执行一些操作 现在有办法查看应用程序如何从
  • 用于图形操作的 Javascript 库

    有没有建议的 javascript 替代 pythonpygraph http code google com p python graph or NetworkX http networkx lanl gov 应该注意的是 可视化不是必需
  • Modernizr 未将类应用于 html 标签

    我目前正在构建一个网站 我需要使用 Modernizr 但由于某种原因 它没有将类应用到 html 标签 因为它应该 我的代码如下所示
  • 检测图像是否损坏或损坏

    我需要以编程方式检查用户在我的应用程序上选择作为壁纸的图像是否已损坏或损坏 基本上我为用户提供了选择自己的图像作为壁纸的选项 现在 当图像加载时 我只想检查它是否已损坏 如果您正在寻找 PHP 解决方案而不是 javascript 解决方案
  • 保留对 React 状态变量的“引用”

    据我所知 Javascript 中没有指针 我有以下问题 但我想知道是否有一个解决方案让我无法解决 解决方案可能是普通的 Javascript 或者像 Context API 这样的 React js 钩子 useContext 或者更多
  • Chrome 中的 addEventListener

    我正在关注 Lynda com 上有关新 DOM 事件模型的教程 这是我正在使用的代码 function addEventHandler oNode sEvt fFunc bCapture if typeof window event un

随机推荐

  • FISCO BCOS 六、通过Caliper进行压力测试程序(及常见问题)

    目录 1 环境要求 第一步 配置基本环境 这里我使用的是Ubuntu20 04 第二步 安装NodeJS 第三步 部署Docker 第四步 安装Docker Compose 2 Caliper部署 第一步 部署 第二步 绑定 第三步 快速体
  • Jedis使用

    Jedis Jedis是Redis官方推荐的Java连接服务工具 Java语言连接redis服务还有这些SpringData Redis Lettuce 下载地址 https mvnrepository com artifact redis
  • MySQL left join优化

    问题描述 遇到了一个需要4个表连接查询的问题 数据量不是很大 两个表大概9000条数据 另外两个表大概几百条数据 但是每次查询时间都需要50秒左右的时间 SELECT FROM gzgdm gz gd region region LEFT
  • 类组件使用mobx实现数据修改以及请求数据

    src下创建新的共享数据文件test js import observable computed action autorun runInAction configure makeAutoObservable from mobx impor
  • 处理高并发的方法

    处理高并发 六种方法 1 系统拆分 将一个系统拆分为多个子系统 用dubbo来搞 然后每个系统连一个数据库 这样本来就一个库 现在多个数据库 这样就可以抗高并发 2 缓存 大部分的高并发场景 都是读多写少 那你完全可以在数据库和缓存里都写一
  • SpringCloud整合 Oauth2+Gateway+Jwt+Nacos 实现授权码模式的服务认证

    前言 目前正在出一个SpringCloud进阶系列教程 含源码解读 篇幅会较多 喜欢的话 给个关注 前段时间拖更了 主要事情比较多和杂 不多废话了 直接给大家开整吧 本节重点是给大家介绍Oauth2 将会带大家从0到1搭建一个 Spring
  • 以太坊 p2p Server 原理及实现

    以太坊p2p原理与实现 区块链技术的去中心依赖于底层组网技术 以太坊的底层实现了p2pServer 大约可以分为这样三层 底层路由表 封装了kad路由 节点的数据结构以及计算记录 节点搜索 验证等功能 中层peer抽象 message开放发
  • PLC通信协议【西门子】PPI协议的读取与写入报文详解

    一 PPI协议通信过程 PPI通信协议是一种主从式的通信协议 上位机即PC机为主 PLC为从 通信开始由计算机发起 PLC予以响应 1 计算机按通信任务 用一定格式 向PLC发送通信命令 2 PLC收到命令后 进行命令校验 如无误 则向计算
  • QT 编写.pro .pri 对编译输出整理和标准化

    文件主要是用于QT对区别不同编译器的文件输出 目前只写了 win linux 和 mac 有项目需求再补充 BUILD OUTPUT PATH 是最后的目录名称 当QT安装了MSVC编译支持时 项目在选择的VS第一次编译或qmake时 会在
  • Ctrl C 和 Ctrl V 突然失效的解决方法

    1 检查是否运行 有道词典 运行中就关闭 可能是键位冲突 2 向日葵是否运行 运行中就关闭 有奇效 3 打开你的输入法 看看快捷键是否有冲突 4 打开C盘 gt Windows gt System32 看看这个文件夹中是否有clip的文件夹
  • 解决Putty报错“Couldn't agree a key exchange algorithm”

    问题 使用Putty SSH登录某些主机时报错 Couldn t agree a key exchange algorithm available curve25519 sha256 libssh org ecdh sha2 nistp52
  • setenforce用法

    SELinux Security Enhanced Linux 是美国国家安全局 NSA 对于强制访问控制的实现 是 Linux历史上最杰出的新安全子系统 setenforce是Linux的selinux防火墙配置命令 执行setenfor
  • (6)元对象系统与信号与槽机制

    1 元对象系统 元对象系统是一个基于标准C 的扩展 为Qt提供了信号与槽机制 实时类型信息 动态属性系统 什么是元对象 在计算机科学中 元对象是这样一个东西 它可以操纵 创建 描述 或执行其他对象 元对象描述的对象称为基对象 元对象可能存在
  • 网工必备工具软件——一看就懂,一听就会,一做就废

    网工是啥 打杂大将多才多艺 能文能武 除了本职工作以外 其他都干上能修卫星高空作业下能除草画图拆地板砖等等 上能九天揽月下能五洋捉鳖 1 eNsp 华为华三思科模拟器 eNSP Enterprise Network Simulation P
  • 时间序列分类算法_时间序列分类算法简介

    时间序列分类算法 A common task for time series machine learning is classification Given a set of time series with class labels c
  • 局域网内文件共享

    局域网内文件共享 1 软件下载及启动 2 文件共享操作 3 确定局域网内访问的IP值 windows11 前言 通过windows自带的功能进行文件共享时 遇到了问题 各种调试就是难以解决 还不知道问题是出来了那一台电脑上 本人是进行win
  • Multi-Instance Multi-Label Learning Networks for Aspect-CategorySentiment Analysis(EMNLP 2020)

    目录 标题翻译 用于方面类别情绪分析的多实例多标签学习网络 论文链接 https aclanthology org 2020 emnlp main 287 pdf 摘要 1 引言 2 相关工作 3 模型 3 1 问题公式化 3 2 用于AC
  • 牛叉,一行代码不写,就可以开发系统

    如今AI和低代码越来越火 可以瞬间完成一个系统的开发 不用一行代码 轻松实现业务数字化 是怎么做到的 前面小孟开发了大量的系统 很多时候不是我写代码多么快 也不是我技术多么的厉害 而是我工具选择的好 今天给大家分享一波 先看一下我常用的低代
  • Spring源码解析(11)之事务源码分析(上)

    一 事务的概念 1 1什么是事务 事务就是逻辑上的一批执行单元 它们要么都执行 要么都不执行 1 2事务的特性 ACID ACID就是数据库管理系统DBMS中事务所具有的的四个特性 atomicity 原子性 原子性表现为操作不能 被分割
  • 【JavaScript教程】注释,创建函数,忍者代码,抽象化,重用名字,垫片(Polyfills)下划线的乐趣,Polyfill 和转译器开发流程,行为驱动开发,使用 Mocha 进行自动化测试,

    注释 正如我们在 代码结构 一章所了解到的那样 注释可以是以 开始的单行注释 也可以是 结构的多行注释 我们通常通过注释来描述代码怎样工作和为什么这样工作 乍一看 写注释可能很简单 但初学者在编程的时候 经常错误地使用注释 糟糕的注释 新手