何浪

思想是生命的奴隶,生命是时间的弄人。

Node:找不到全局安装的模块

常见问题

问题背景 在Windows 环境下 nvm 的安装与使用篇章中我们学会了如何使用nvm方便快速的切换node的版本,但是却发现在写node脚本的时候,总是会出现:Error: Cannot find module 'xxxxxx'的报错情况。即使模块已经全局安装过了依旧还是找不到。这是什么原因又该怎么办呢? 问题原因 想要找到原因就需要用到一个非常关键的一个命令: 12# 打印本地目录前缀n......

Canvas--添加样式和颜色

Canvas系列

使用样式和颜色 在绘制图形的篇章里,我只用到默认的线条和填充样式。而在这一章里,我们将会探讨 canvas 全部的可选项,来绘制出更加吸引人的内容。 色彩 Colors 到目前为止,我们只看到过绘制内容的方法。如果我们想要给图形上色,有两个重要的属性可以做到:fillStyle 和 strokeStyle。 fillStyle = color ​ 设置图形的填充颜色 strokeStyle ......

Canvas--绘制图形

Canvas系列

使用 Canvas 绘制图形 本章内容学习如何绘制矩形、三角形、直线、圆弧和曲线。绘制物体到 Canvas 前,需要掌握路径,下面看一下具体内容。 栅格 开始画图之前,我们需要了解一下画布栅格(canvas grid)以及坐标空间。如下图所示,canvas元素默认被网格所覆盖。通常来说网格中的一个单元相当于canvas元素中的一像素。栅格的起点为左上角(坐标为(0,0))。所有元素的位置都相......

Canvas--基本用法

Canvas系列

Canvas 教程 <canvas>是一个可以使用JavaScript脚本来绘制图形的HTML元素。例如,它可以用于绘制图表、制作图片构图或者制作简单的动画。 <canvas>最早由 Apple 引入Webkit,用于 Mac OS X 的 Dashboard,随后被各个浏览器实现。如今,所有主流的浏览器都支持它。Canvas 的默认大小为 300 像素 ×150 像......

删除数组中的重复项

算法练习

题目 一个有序数组 nums,原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。不能使用额外的数组空间,必须在原地的修改输入数组并在使用 O(1)额外空间的条件下完成。 例: ​ 输入:[0,1,2,2,3,3,4] ​ 输出:5 解法:双指针算法 数组完成排序后,我们可以放置两个指针i和j,其中i使慢指针,而j是快指针。只要nums[i]=nums[j],我们就增加j以......

素数个数统计

算法练习

题目 统计 N 以内的素数个数(素数:只能被 1 和自身整除的自然数,0、1 除外) 方法一:暴力解法 再不考虑时间复杂度的情况下,可以使用逐一判断的方式暴力计算素数个数,具体代码如下所示: 123456789101112131415161718192021222324/* * 计数 */function count(n) { let result = 0; for (let ......

Windows环境下nvm的安装与使用

日常工具

简介 nvm允许你通过命令快速安装和使用不同版本的node。 例如 123456789101112$ nvm use 16.9.1Now using node v16.9.1 (npm v7.21.1)$ node -vv16.9.1$ nvm use 14.18.0Now using node v14.18.0 (npm v6.14.15)$ node -vv14.18.0$ nvm in......

反转链表

算法练习

题目 将链表的顺序翻转过来 例: 输入:1 -> 2 -> 3 -> 4 -> 5 输出:5 -> 4 -> 3 -> 2 -> 1 使用两种方式解题 解题 方法一:迭代 1234567891011121314function reverse(head) { let prev = null, next; let curr......

JS类SQL语句解析引擎

JS解析引擎概念应用

前言 思考一下,如果我们现在有下面一段纯文本: 1(创建时间 属于 "当天") AND (处置状态 属于 "待处置,处置中,已处置" AND 处置人 是否为空 "否") 现在需要解析成下面的一个树形结构: 1234567891011121314151617181920212223242526272829{ 'r......

基于JavaScript节流和防抖动实现的懒加载效果

性能优化

对于页面内图片资源丰富的网站来说,懒加载对于提升用户首屏加载速度是至关重要的优化。下面就来看看具体如何实现懒加载效果。 懒加载 单纯的图片懒加载思想比较简单,通过js获取img标签的集合,然后遍历这个img集合判断当前img是否位于可视窗口之内,如果在,则去加载真正的图片src,如果不在则不加载。下面通过代码看看具体实现方式: 12345678910111213141516171819202......