自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于js的LRU缓存

数据结构来存储缓存数据,因为它具有按照插入顺序排序的特性,这样可以避免手动维护一个额外的链表来记录缓存数据的访问时间戳等信息。LRU 介绍 https://zhuanlan.zhihu.com/p/52196637。,如果不存在则返回-1。如果存在,则将该key对应的值取出,并从。中最久未使用的key并删除它。需要注意的是,在上述代码中,我们使用了。在构造函数中,我们传入了一个容量参数。中处于最近使用状态。方法中,我们首先判断。方法中,我们首先判断。添加到cache中。

2023-06-14 14:06:35 111

原创 阅读p-limit源码

p-limit是一个控制并发量的库,比如我们在请求接口时同时请求了10个接口,这时候我们希望把十个请求分成两份,每次请求5个,避免服务器太大压力,那我们就可以用到p-limit这个库了。在上面这段用例中,会先弹出foo,bar,然后又隔了一秒(settimeout里面设置的间隔)才弹出end,说明我们的并发控制完成了。

2023-06-13 10:55:23 573

原创 【源码阅读】—— vue 工具函数

基于vue-2.6的工具函数代码阅读

2023-01-05 15:02:43 477 3

原创 计算机网络 应用层(HTTP)

应用层本章重点内容:域名系统DNS —— 从域名解析出IP地址。万维网和HTTP协议,以及万维网的两种不同的搜索引擎电子邮件的传送过程,SMTP协议和POP3协议动态主机配置协议DHCP的特点网络管理的三个组成部分(SNMP本身)系统调用和应用编程接口的基本概念P2P文件系统DNS域名DNS域名系统把互联网上的主机名字转换为IP地址。为什么机器处理IP数据报时要使用IP地址而不是域名呢?因为IP地址的长度是固定的32位(IPv6时128位),而域名的长度不固定,所以机器处理起

2021-06-21 10:39:48 1503 7

原创 计算机网络 运输层笔记

重点停止等待协议、ARQ协议、TCP报文段首部格式,滑动窗口、流量控制、拥塞控制。运输层重要概念:端口和套接字的意义。无连接的UDP的特点。面向连接的TCP的特点。在不可靠的网络上实现可靠传输的工作原理,停止等待协议和ARQ协议。TCP的滑动窗口、流量控制、拥塞控制和连接管理。套接字源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字。其用于标识客户端请求的服务器和服务。运输层协议概述网络层和运输层的区别:网络层为主机之间提供逻辑通信,运输层为应用进程间提供端口对

2021-06-21 10:15:07 1161 1

原创 你不知道的javascript上 (this部分)

第1章——this预览1. 例子1人们很容易误以为this指向函数自身,不过我们看一下下面这个例子。function foo(num){ console.log('foo:'+num) this.count++}foo.count = 0;var i;for(i = 0; i < 10; i++){ if(i > 5){ foo(i) }}// foo: 6// foo: 7// foo: 8// foo: 9// foo被调用了多少次

2021-04-09 14:33:24 230

原创 你不知道的js 上卷 (上半部分)

第一章 作用域是什么传统编译语言的流程中,程序中的源代码在执行前会经历三个步骤,统称为编译。分词/词法分析将字符串分解成有益于的代码块,这些代码块称为词法单元(token)。如var a = 2; 这段程序会被分解成var, a, =, 2 等解析/语法分析将词法单元流转换成一个由元素逐层嵌套的代表程序语法结构的树。称为抽象语法树(AST)代码生成将AST转为可执行代码的过程称为代码生成,即将var a = 2的AST转为一组机器指令,用来创建以恶搞叫做a的变量,包括分配内存,并将一个值存在

2021-04-06 15:23:41 215 3

原创 关于IIFE的一些笔记

IIFEIIFE是Immediate invoke function expression的缩写,中文名为立即执行函数,常用来封装组件使用,它的写法是(function(){ console.log(123)})()// 或+function(){ console.log(123)}()那为什么我们不可以这样写function a(){ console.log(123)}() // Uncaught SyntaxError: Unexpected token )要解答这个

2021-03-12 16:54:55 188

原创 css中使用unicode和伪类,不使用图片来做箭头

使用伪类搭配unicode来实现箭头,可以免去一些常见图片的加载,做起来也很方便实现效果如下图所示做法:1.搜索需要的unicode,我使用的网站是unicode字符百科2.复制需要字符的css代码3.写代码,原来的元素定位relative,伪类绝对定位li{ padding-left: .5rem; position: relative;}li:after{ content: "\u1433"; position: absolute; right: .5rem;

2020-12-30 17:48:15 382

原创 vue页面滑动后跳转另一个页面,返回时让页面保持在原有位置

方案选择最近在做一个项目,首页有很多条数据,所以想要让用户在跳转到另一个页面后再返回首页时,保持在原有的高度,使用了keepAlive加上activated钩子,也会出现很多其他问题,因为首页是下拉加载数据,还有很多其他判断,修改起来比较麻烦,所以放弃了用keepAlive的方案将要跳转的页面做成组件选择另一个方案,将跳转的页面做成组件,这样就不存在需要保存数据等问题,当显示组件时,将组件设为fixed定位,overflow-y:scroll,这么做有2个要注意的地方1.滑动动组件时,主页面也跟着滚

2020-12-30 16:15:40 4545 2

原创 vue自定义指令

vue自定义指令当我们使用插件的时候,有时候会看到插件上使用v-xxx的用法,例如在使用图片懒加载时,我们可以看到他用了v-lazy的指令,这是怎么做的呢 ?图片:这是vue中的自定义指令,Vue-directive,我们可以使用这个自定义指令来做很多效果,例如数据加载时,显示加载的遮罩,当加载完成后,再把这个遮罩框移除,效果如下:这样的效果要如何来做呢,根据vue官网上的用法说明来使用就可以// main.jsVue.directive('loading',{ }})我们可以在

2020-10-29 10:50:16 278

原创 vue中的on和emit

在vue中,使用on和emit可以实现父子组件传值,利用on和emit还可以实现事件的多重绑定<template> <div id="app"> <button @click="boost">params</button> <button @click="$emit('test',123)">测试</button> </div></template><script>e

2020-10-28 20:36:07 1962

原创 一个支持倍速播放的视频播放器

视频倍速视频倍速主要是通过video的playbackRate属性来控制直接上代码,后期找时间加上进度条控制等功能<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</

2020-10-11 23:10:55 1275

原创 react学习笔记(二)

react单项数据流父组件向子组件传递的参数,是不可以在子组件直接修改的,会报错,父组件传给子组件的都是只读属性。函数式编程react是函数式编程的框架,优点是1:代码清晰,知道各个部分是干嘛的,优点2:代码更容易测试。调试工具的安装和使用_propTypes校验传递的值import PropTypes from ‘prop-types’进行校验要在子组件的类的外面在子组件的类的外面写MyService.propTypes = { item: PropTypes.string, i

2020-08-17 17:33:57 245

原创 react学习笔记(一)

安装node和create-react-appnode安装 略过create-react-appnpm i -g create-react-appcd xxx // 目录npm start这时候就生成了一个简单的react页面发现问题:serviceWorker.js是啥service worker是在后台运行的一个线程,可以用来处理离线缓存、消息推送、后台自动更新等任务。registerServiceWorker就是为react项目注册了一个service worker,用来做资源的缓存

2020-08-14 14:00:52 207

原创 vscode中我常用的插件

2020-08-11 21:19:02 89

原创 理财笔记

绝不亏钱的7种投资法- 货币基金银行的存款替代品,余额宝就是货币基金。如何寻找货币基金,货币基金的命名中多有:现金,货币,宝,添利等便利:与银行活期存款相当收益:大多数超过银行一年定期存款货币基金的正常流程是当日赎回,等下个交易日到账,许多公司为了方便客户,通过自己点钱的方式,让客户提前拿到资金。闭环型货基:不能转账,不能购物,不能缴费,只能提现到自己相同身份证的银行卡这样比较保险。货币基金可以与花呗或信用卡搭配平时把钱放在货基里,消费时优先使用信用卡付款,信用卡还款日在用货基还款

2020-08-03 22:56:43 1008

原创 珠峰笔记 (原型深入,this,正则表达式)

函数三种用法1.普通函数2.构造函数3.对象function Number(){}Number.isNaN = function(){}isNaN 这个方法使用时,Number被当做一个普通的对象,因此不能用isNaN(数值),也不能用(2).isNaN,只能用Number.isNaN(数值)来调用原型上设置的方法,供实例调用,可以写(2).toFixed(2)阿里面试题,考察newfunction Foo(){ getName = function(){ console

2020-07-21 23:51:35 700

原创 珠峰笔记(变量提升-闭包-this-OOP)第三周

NODE基础概念node是工具或者环境基于V8引擎(webkit)渲染和解析JS的单线程无阻塞I/O操作事件驱动…这里的单线程,无阻塞I/O操作,事件驱动,还要多理解常见的DOS命令(mac大部分不支持,mac主要是linux命令)Ping 测网速Ping www.baidu.comipConfig (mac不支持)cls 清屏 (mac是clear)dir:查看当前目录下的所有文件(ls)mkdir 创建文件夹rm xxx.xx 删除文件rmdir xxx 删除文件

2020-07-20 10:30:29 821

原创 用script的方式异步引入高德地图

<template><div :id="id" :style="{width:'0px',height:'0px'}" class="m-map"/></template><script>mounted(){ // 这里onmaploaded,异步加载高德地图的回调会去执行这个方法 window.onmaploaded = () =>{ let map = new AMap.Map('all-map', {

2020-07-03 14:34:33 865

原创 vue递归组件

父组件页面<template> <div id='test'> <ul> <tree :model="treeData"></tree> </ul> </div></template><script> import tree from '@/components/tree' export default { data () { r

2020-07-02 17:11:01 235

珠峰以及近期笔记

5个基本数据类型boolean undefined null number stringNumber 和 parseInt其中的一个区别Number(‘13px’) // NaNparseInt(‘13px’) // 13parseInt是从最左边开始寻找数字,找到不是数字的地方停下来,但是如果是’a13px’,也会显示NaNNaNNaN == NaN // falseNaN是...

2020-05-14 11:02:57 1012

原创 基于vue-cli和vant来搭建开发环境

基于vue-cli和vant来搭建开发环境1.安装vue-cli2.通过vue-cli构建项目3.安装vant4.vant按需引入5.设置pxtorem(输入px,自动变为rem,这样写的时候可以完全按照设计图来写)步骤省略 …用vue-cli指令来构建项目(需要先全局安装vue-cli) vue create tea-item选择需要的工具,例如vuex,vue-rout...

2020-02-06 10:49:50 1946

原创 vue实现日历组件

基于VUE实现日历组件年和月份是使用输入框来切换的,没有做成选择框,⬅️和➡️切换月份,红色选取是选取的日期实现思路和网上的大多数一样,首先是把月份的天数存进一个数组,monthDay:[31,'',31,30,31,30,31,31,30,31,30,31],由于二月的天数是不确定的,所以就先设置为空然后去求选择的月份的第一天是星期几,通过 Date.getDay()函数,这个函数...

2019-12-17 14:23:14 1969 2

原创 vue cli3及4版本的全局引入scss

虽然是个简单的功能,但是发现按照很多网上的方法去操作并不能实现方法,所以还是写一下好了需要借助 sass-resources-loader工具npm install sass-resources-loader在src\assets\css 目录中新建一个common.scss文件,并且声明一个变量/* common.scss */$main-color: darkolivegreen;...

2019-11-26 15:10:08 6576 6

原创 MySQL学习笔记

约束约束可以保证记录的唯一性,即就是同一个表中,相同字段的值不会出现重复。1.主键约束创建主键约束的user表格,约束idmysql> create table user( -> id int primary key, -> name varchar(20) -> );Query OK, 0 rows affected (0.14 sec)...

2019-10-20 15:24:56 99

原创 window系统下MySQL安装(8.0.18版本)

1.前往官方地址下载mysql压缩包https://dev.mysql.com/downloads/mysql/2.压缩文件,并且创建my.ini文件下载完后,将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\web\mysql-8.0.18 下。接下来我们需要配置下 MySQL 的配置文件打开刚刚解压的文件夹 C:\web\mysql-8.0.18 ,在该文件夹下创建 ...

2019-10-16 00:48:21 157

原创 借助vant实现列表分页加载和下拉刷新

直接贴上代码<template> <div class="hello"> <van-pull-refresh v-model="isLoading" @refresh="onRefresh"> <div class="container"> <!-- 这里可以弄一个组件或者默认样式,显示暂无数据加一张图...

2019-07-16 10:21:49 11256 5

原创 工作笔记

记录项目中遇到的一些难点和问题1. 服务端返回带换行的文本,如何设置css属性,使其正常显示(默认的空格会被忽略)white-space:pre-wrap // 保留空白符但是正常进行换行white-space:pre-line // 合并空白符,保留换行符2.设置Vue项目全局属性/** 新建common.js,为Vue对象添加原型属性,每个Vue组件都是一个Vue对象的实例,所...

2019-07-15 13:51:05 119

原创 工作笔记

1.CSS控制行数,LESS代码.g-t-ellipsis(@lines){ overflow:hidden; text-overflow: ellipsis; /*! autoprefixer: ignore next */ display: box; display: -webkit-box; -webkit-line-clamp: @lines; -webkit...

2019-06-19 20:13:57 89

空空如也

空空如也

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

TA关注的人

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