自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 项目中暗黑适配的想法

暗黑模式适配在vue项目中一开始没有下面这套最新方案的时候,我们在每个需要适配暗黑模式的页面都得根据媒体查询写适配,现在,只要和设计师商量好,我们使用对应的变量即可。之前方案:.inputNumber { padding: 0.28rem 0.2rem 0; .input { margin-top: 0.4rem; .tip { height: 0.2rem; line-height: 0.2rem;

2021-08-01 18:40:11 291 1

原创 rem初始化

const docEl = document.documentElementconst dpr = window.devicePixelRatio || 1const BASE_SIZE = 100;const deviceWidth = docEl.clientWidthfunction setRemUnit () { docEl.style.fontSize = deviceWidth / BASE_SIZE * dpr + 'px'}window.addEventListene

2021-07-25 21:04:17 188

原创 安装美丽的iterm2,从零开始,避免踩坑

1. 安装 iTerm2官网下载2. 打开iTerm2,下面的操作在iTerm2上执行3. 安装 oh-my-zshcurl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh如果出现curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused可以执行下面这句443 端口连接被拒

2021-06-16 17:11:35 5754

原创 js一个数组元素被另一个数组完全包含

数组arr2的元素完全被数组arr1完全包含自己总结了下面几种方法,同时也用了 performance.now() 去检测性能总体来说,数据量大时,用Set和Map执行时间最短执行时间最短的按下面的方式来说,Set方式执行时间最短没有做复杂类型的判断,有需要的可以自己在下面的函数进行拓展// 生成随机字符串function randomString(e) { e = e || 32; var t = "ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwx

2021-06-10 14:24:24 729

原创 http请求

缓存建立完链接,就该请求html文件了,如果html文件在缓存里面浏览器直接返回,如果没有,就去后台拿建立之后,就可以发起http请求了,服务端拿到http请求,解析http请求头,根据请求头,查看关于缓存的问题。http缓存,提高服务器的并发性能,很多资源可以直接从浏览器中拿缓存强缓存返回200,from cache请求头:​ Expires:时间 绝对时间,如果服务端和客户端时间相差较大会发生混乱​ Cache-Control:秒 相对时间协商缓存Last-Modified 第一次

2021-04-11 22:24:29 63

原创 TCP链接

三次握手客户端向服务端发送SYN包,将SYN位置为1,序列号seq随机一个数为x,进入SYN_SEND状态服务端收到SYN包,需要确认SYN包,将确认号为x+1(seq+1),同时自己也要发送一个SYN包给客户端,序列号seq随机一个数为y,(即SYN和ACK包),进入SYN_RECV状态客户端收到SYN和ACK包,确认SYN包,将确认号为y+1(seq+1),序列号(seq = x + 1),发送ACK包给服务端,此时,客户端和服务端都进入ESTA_LISHED状态image-2021040523

2021-04-06 00:00:16 84

原创 dns查询

dns查询客户端和本地之间进行递归查询先查看浏览器的缓存,如果没有则查找本地host文件,没有再查找本地dns解析器缓存,最后查找本地dns服务器缓存在本地和根及其子域之间是迭代查询查找根域名服务器,再查找顶级域名服务器,最后查找权威域名服务器...

2021-04-04 23:23:23 96

原创 输入url后发生了什么

先来个大概:dns查询,查询到url对应的IP建立tcp链接,三次握手http发起请求关闭tco链接,四次挥手客户端获取到数据进行解析获取html构建DOM树,css获取CSSOM输,经过attachment合成Render渲染树,显示到页面上下面对以上几点进行展开,看看具体都发生了什么,细节都有些什么dns查询未完待续。。。...

2021-03-25 23:55:00 59

原创 git操作记录

第一周周一创建新建文件夹mkdir 文件名新建文件touch fileName (我在vscode无法使用)查看当前路径pwd将当前目录变成一个git可以管理的仓库(初始化仓库)git init将文件添加到git仓库(暂存区)git add readme1.txt readme2.txt //一次可以提交多个将文件提交到当前支git commit -m "文件名"版本版本回退查看当前工作区与缓存区状态git status 对比文件区别git diff re

2021-03-23 23:58:04 74

原创 说说你了解的设计模式

单例模式:**好处:**减少全局变量,全局对象被污染问题实现:懒汉式let ShopCar = (function () { let instance; function init() { /*这里定义单例代码*/ return { buy(good) { this.goods.push(good); }, goods: [], }; } return { getInstance: functio

2021-03-21 23:45:19 225

原创 手写promise

今天先实现了简洁版的promiseclass Promise1 { static PENDING = "Pending" static FULFILLED = "Fulfilled" static REJECTED = "Rejected" constructor(executor) { this.initValue() this.initBind() try { executor(this

2021-03-18 00:06:26 53

原创 说说你对闭包的理解

要理解闭包,首先得先知道js的作用域和词法作用域作用域作用域就是用于确定变量在何处以及如何查找变量的规则作用域就是查找变量的地方作用域链:从下往上找,从该函数作用域中,一直往上面的作用域中找,如果找到了就停止寻找并返回,直到全局作用域中。JavaScript也是有编译过程的console.log(name); // 输出undefinedvar name = 'iceman'; 编译的时候在作用域中声明了一个name属性运行的时候给这个name赋值js在预编译后执行代码时就会进

2021-03-16 23:55:52 152

原创 手写bind函数

// 实现bindFunction.prototype._bind = function (newThis, ...bRet) { // 原来函数的this,这里是fn let oldThis = this return function (...rRet) { return oldThis.apply(newThis, [...bRet, ...rRet]) }}function fn() { console.log(this) // fn console.log(a

2021-03-15 21:00:34 71

原创 说说你对js的继承的了解

说说你对js的继承的了解什么是继承js中,继承是一种允许我们在已有类的基础上创建新类的机制;它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展为什么要有继承提高代码的重用性、较少代码的冗余继承的相关实现想要实现继承,就得有个被继承的父类// 最上层函数function Animal(name) { this.name = name || 'Animal' this.eat = function (food) { console.log(`${thi

2021-03-09 21:44:13 176

原创 说说你对this的理解

说说你对this的理解在我的印象中,一直有这么一句话 “谁调用,this指向谁”,但在工作的时候,还是有时候会感到疑惑,所以决定好好的了解一下这个this这个时候我们不能知道this会指向谁function fn() { console.log(this);}下面两种情况,this的指向又不同function fn() { console.log(this);}let obj = {fn};fn(); // windowobj.fn(); // obj其实this的指

2021-03-03 20:54:33 472 2

空空如也

空空如也

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

TA关注的人

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