自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 ES6 小结,[freeCodeCamp]

ES6使用 var 关键字声明变量时,它是全局声明的,如果在函数内部声明则是局部声明的使用数组解构来交换两个变量的值let a = 8, b = 6[a, b] = [b, a]使用解构赋值配合 rest 操作符来重新分配数组元素,与Array.prototype.slice()类似rest 操作符只能对数组列表最后的元素起作用。 不能使用 rest 操作符来截取原数组中间的元素作为子数组const [a, b, ...arr] = [1, 2, 3, 4, 5, 7];console.l

2022-02-01 15:52:23 819

原创 《深入理解计算机系统(CSAPP)》 第一章——计算机系统漫游

【合集】CSAPP-深入理解计算机系统_哔哩哔哩_bilibiliComputer Systems: A Programmer’s Perspective第一章 计算机系统漫游计算机系统是硬件和系统团结互相交织的集合体,它们必须共同协作以达到运行应用程序的最终目的通过介绍 helloworld 程序的生命周期(从它被程序员创建开始,到在系统上运行,输出简单的信息,然后终止),对计算机系统的主要概念做一个概述信息就是位+上下文,计算机内部的信息被表示为一组组的位,它们依据上下文有不同的解释方式。

2022-01-07 15:50:50 769

原创 [Vue warn]: Maximum recursive updates exceeded. This means you have a reactive effect

2021-12-22 18:00:22 7323

原创 Nginx 部署 Vue 项目的方法

本地 Nginx 部署 Vue 项目下载 http://nginx.org/en/download.html解压 Nginx 并在下图路径中找到配置文件进行修改注:可以复制一份配置文件,在文件名后加 .bak 扩展名备份官方的配置可以更改端口和访问的前端打包后要部署的文件路径npm run build 打包 Vue3 项目,打包成功后我将 dist 文件夹放到了 D 盘,路径就是上图 D:\dist最后启动 Nginx,使用在其路径下的 cmd 中使用命令 start nginx 或是在 n

2021-12-17 16:44:58 1625

原创 CustomRef 实现简单的防抖和节流

官方阐述了怎么使用 customRef 自定义一个 ref 实现防抖,但是没有节流的代码,所以自己写了一个,区别不是很大。概念浅谈 JS 防抖和节流 可以看这篇文档了解什么是防抖和节流,讲的非常清晰,这里我就贴一下CustomRef 用来自定义 ref ,它可以很好地跟踪依赖项和触发更新。它需要一个工厂函数,该函数接收 track 和 trigger 作为参数,这两个都是函数,就像 resolve 和 reject ,并且应该返回一个带有 get 和 set 的对象。代码实现防抖<t

2021-12-11 19:53:53 489

原创 js双指针求三数之和

问题给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。思路首先给的数组要有三个数,不到三个数就返回空数组。且三个数之和为 0 则三个数中必有负数与正数,可能有 0。对数组进行升序排序,遍历数组,每遍历一个元素,就定义左右两个指针,左指针是当前元素的下一个元素,右指针是尾部元素。若当前元素是大于 0 的,那当前元素与左右指针指向的元素之和必定是

2021-12-05 13:08:07 716

原创 JavaScript 模拟实现数组的 map 方法,一道笔试题

这是一道笔试题目首先需要知道数组的map方法是什么:返回数组中每个元素都调用一次提供的函数组成的新数组。MDN Array.prototype.map() 可看到 map 方法中的回调函数具有三个参数:var new_array = arr.map(function callback(currentValue[, index[, array]]) { // Return element for new_array }[, thisArg])另外实现这个方法是数组都可以调用的,所以将方法放到 A

2021-11-29 16:58:54 583

原创 Proxy 代理,以及使用其创建私有属性

Proxy 与创建私有属性Proxy - JavaScript | MDN下图举例用代理实现在获取对象中属性值时实现拦截操作,在获取对象中不存在的属性时自定义返回一个字符串提示。v// 创建私有属性const toto = { name: 'toto', age: 25, _secret: '***'}const handler = { get(target, prop) { if (prop.startsWith('_')) { throw new

2021-11-28 15:44:54 453

原创 JavaScript中模拟 new 操作符的效果

先导知识new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例 (MDN)new 操作符做了什么?在内存中创建一个新对象这个对象会被执行 [[Protoype]] (也就是 _proto_) 链接生成的新对象会绑定到函数调用的 this通过 new创建的每个对象将最终被 [[Prototype]] 链接到这个函数的 prototype 对象上如果函数没有返回对象类型 Object(包含 Functoin, Array, Date, RegExg, Error),那么ne

2021-11-24 16:41:05 532

原创 前端 vue3.2+ts 中实现文件下载的三种方式,即文件流、url,以及 JSZip 压缩包方式

文章目录1. 后端返回文件 url 时2. 后台返回文件流时,用 blob 对象下载文件3. JSZip 库以压缩包下载文件1. 后端返回文件 url 时const link = document.createElement('a') // 创建一个 a 标签用来模拟点击事件 link.style.display = 'none'link.href = '文件url'link.setAttribute('download', '文件名')document.body.appendChild(lin

2021-11-24 14:29:08 5870

原创 整理的 Vue3.2 版本新特性,从升级到使用

Vue3.2的官方文档Young村长B站视频升级 Vue3.2升级 node,到 14 以上吧,安装下 vite,然后运行 npm init @vitejs/app 然后一路选择 vue 或 vue-ts,如果要用 ts 的话现有 Vue 项目升级 3.2 版本npm i vue // 升级到 3.2npm i @vue/compiler-sfc -D // 满足 Vite 工具对 SFC(就是平常所说的 .vue 文件) 的编译需求 // 升级后查看 package.json 配置

2021-10-15 13:57:49 1913

原创 TypeScript 入门

文章目录TypeScript 介绍TypeScript 包含的数据类型:一些注意的点函数数组TypeScript Map 对象TypeScript 联合类型接口类对象命名空间模块声明文件TypeScript 介绍TypeScript 可处理已有的 JavaScript 代码,并只对其中的 TypeScript 代码进行编译安装 TypeScript,会提供一个 tsc 工具执行相应命令tsc -h 查看这个工具有哪些命令之后新建一个 ts 文件,执行 tsc ts文件名 命令将 Type

2021-10-01 18:08:33 286 1

原创 用HTML、CSS及JS一步步创建网站,AOS 页面滚动动画库的使用

AOS 页面滚动动画库的使用1 安装2 页面中怎样使用**2.1 初始化 AOS****2.2 使用 data-aos 属性设置动画**3 API4 JS Events5 其他方法6 注意事项7 所有动画,easings 和锚点位置的完整列表Github 地址:AOS - Animate on scroll library演示,这个是用了 AOS 滚动动画库的一个网站演示网站的源代码地址,注释很详细1 安装基本的在 html 文件的 标签中引入 AOS-CSS 文件< link r

2021-05-08 19:28:55 2540 1

原创 error An unexpected error occurred: “https://registry.npmjs.org/ant-design-vue: tunneling socket cou

在用 yarn install 安装依赖时遇到了下面这个问题,好一顿折磨,还是没能找到解决方法,有谁遇到过吗?info There appears to be trouble with your network connection. Retrying...error An unexpected error occurred: "https://registry.npmjs.org/ant-design-vue: tunneling socket could not be established, ca

2021-05-01 12:35:41 7856 5

原创 GSAP动画库创建滚动效果,以及一些CSS属性小知识

运行结果,鼠标上下滑动,四图中的文字就是推荐的诗《工人眼中的历史》源代码如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Scroll Animation Design

2021-01-05 19:41:46 1052 1

原创 vue/cli4 项目中配置webpack-bundle-analyzer分析包插件,查找需要优化的文件

@vue/cli 4 项目中安装 webpack-bundle-analyzer 分析包,来查找需要优化的文件1、安装2、修改 vue.config.js和 package.json3、运行分析包在安装 webpack-bundle-analyzer 分析包之前,在项目中可以通过 npm list vue 查看项目所使用的 @vue 版本以及运行 vue -V 查看项目所使用的 @vue/cli 版本。1、安装webpack-bundle-analyzer 可视化资源分析工具可以直观地分析打包出的

2020-10-11 15:01:24 1465

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除