经验分享

如何在Node.js里使用ES6 import?

随着Node.js V16 LTS版本的发布,终于对ES6的支持不用再加–experimental-modules参数来启用了。不过,对前端开发来说,在Node.js里使用ES6的import会显得有些不太一样。我们先看看现在是什么样子的。ES6 import介绍import 语句用于导入由其他模块export出的模块(module)。模块是包含一段可重用代码的文件。无论是否声明,导入模块都处于严...

如何在JavaScript和Node.js里解析URL及参数?

在编程的时候,我们有时候需要拿到URL并解析里面的参数,这种情况下,需要有个简单的办法来解析URL。在以往,我们可能习惯用第三方的库来做这件事情,比如jquery或者parse-url之类的库,好处是这类库大家都熟悉,很容易找到使用的文档,能够快速地解决问题。不过随着大而全的库(如jquery, AngularJS)日趋弱势,像React、Vue等专注于解决某一方面问题的库日益更加流行,框架里面并...

小学数学基本练习工具说明

这个工具分为四个模块:在线练习错题本答题历史题目打印在线练习(即首页)使用的时候,有两块选项:题目来源题目来源分两种,一种是随机生成,一种是从错题本里来。当然错题本里的题,最开始都是做随机生成的题目的时候做错的,因此,做随机生成的题目是一开始必须的。因为只有在线练习才会自动把题目加入错题本,所以将题目打印出来线下完成的话,就利用不了这个错题本功能了。默认选择的来源是“随机生成”,表示题目里的数都是...

小学数学基本练习工具

自从娃上了小学,如何在家辅导数学始终是一个问题。不是娃不愿意学,而是作为家长,总是很难抽出足够的时间来辅导。举例来说,今年倡导双减,因此二年级就没有了书面作业,那么乘法口诀的练习,就需要家长在家口头陪小孩练习。这个方法本身是没问题,但是比较依赖家长的时间,虽然每天只需要一二十分钟,但每天各种事情忙完准备练习,就基本上晚上八点之后了。当开始练习的时候,虽然只是九九乘法口诀,需要记忆的成分很高,但是有...

如何在Ubuntu里面升级Git

当前Git最新的版本已经是2.34.1,但是我的Ubuntu 18.04.2 LTS系统里的Git版本是2.17.1,由于更新版本的Git更加安全,因此还是有必要升一下。Ubuntu默认的安装包仓库里的版本只是2.17.1,所以直接通过sudo apt install git来安装,是不会安装到最新的版本的。为了达到目的,我们可以用Git团队为Ubuntu用户开发的一个PPA (Personal ...

JavaScript里面如何快速生成乘法口诀练习题?

问题的背景是这样的:我希望每天能够给小孩出一份乘法口诀的练习题,题目的顺序每天都不重复。作为程序员,肯定是不愿意手动去一道道出题的,那么写程序去生成这些题目是必须的。生成题目简单,二重循环就可以,但是把题目随机排序,有没有简单的办法?在JavaScript里面,对于数组里面的元素,我们可以使用Array.prototype.sort()来对数组的内容进行排序。使用这个方法,我们可以按照数据的值或属...

在用Jest测试React组件时,如何支持<canvas>元素

用Jest做JavaScript单元测试是个不错的选择,在Jest的基础上,用@testing-library/react是锦上添花的方法。React Testing Library提供了render() API,可以用这个API在jsdom里渲染React的组件。jsdom是一个模拟的浏览器里的JS运行时,实现了很多重要的web标准,比如DOM和HTML。但是在运行涉及到canvas的元素测试的...

如何用HTML5的canvas里面画图?

在HTML里画一些简单的图的时候,有时候我们并不需要像HighCharts这样重量级的画图库。在HTML5的canvas里面画一些简单的图并不难。从一个最简单的例子看起:运行代码,可以看到我们很容易在canvas里面画了一个方框:方框的起始位置是(20, 20),宽度和高度分别是150和100。有了这个基础,我们可以再画一个简单的柱状图(点“运行”按钮来查看运行结果):这样,一个简单的柱状图就画好...

HTTP header里的X-Real-IP和X-Forwarded-For的区别

在HTTP的请求header里,我们经常可以看到类似这样的内容: 如果要取客户端的IP地址,如何取才对?X-Forwarded-For (XFF) 在客户端访问服务器的过程中如果需要经过HTTP代理或者负载均衡服务器,可以被用来获取最初发起请求的客户端的IP地址,这个消息首部成为事实上的标准。在消息流从客户端流向服务器的过程中被拦截的情况下,服务器端的访问日志只能记录代理服务器或者负载均衡服务器...

JavaScript里如何根据条件为对象赋值

在JavaScript里,我们有时候需要根据一些条件给一个变量赋值,比如,当value是有值的时候,要显示这个值,没有值的时候,显示"--"。勤快人的做法:代码写的好长啊,看起来有点累,有没有简单点的写法?让我们看看懒人的写法吧。懒人的做法:在这里,用三目运算符(ternary operator),可以只用一行代码就达到上面多行代码就能达到的效果,太好了!不过,上面的这个场景,三目运算符的条件判断...

最新课程

Chrome开发者工具教程

Chrome DevTools的简明教程

初级
免费
JSON简明教程

JSON格式的简明教程

初级
免费
编程概念

面向新程序员的简短教程

初级
免费
初级
免费
JavaScript教程

介绍基础的JavaScript知识,学习用JavaScript进行编程

初级
免费
编程入门导引

帮编程初学者解决方向上的疑惑

初级
免费
HTML/CSS精简教程与实例

面向初学者的HTML5和CSS的教程

初级
免费
Git使用简明教程

快速学习Git进行高效的代码管理

初级
免费
Python 2语言教程

学会用Python语言来编程

初级
免费
程序员面试指南

为找到理想的工作,做好完善的准备

中级
免费