自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue文档01

构建用户界面的js框架,提供了一套声明式,组件化的编程模版命令式声明式。

2025-02-06 17:44:27 354

原创 js手写-迭代器与生成器

/1.使用普通函数// }// }else{// }// }// }// }// }//2.使用生成器函数i++) {let room = new Room("房间1", []);room.entry("张三");room.entry("李四");

2025-01-24 11:59:19 249

原创 js手写-promise的静态方法

在之前实现的mypromise基础上。

2025-01-21 22:17:38 330

原创 js手写-实现Promise的实例方法

等效为。

2025-01-21 22:16:57 315

原创 js手写-实现Promise的then方法

因为在new的时候executor立即执行,会执行resolve函数,然后执行到this.onFUlfilled()* 但是此时then方法还没有调用,所以this.onFulfilled() == undefined。而微任务中的代码执行先于宏任务,因此当定时器时间到了之后,触发then方法,只是将函数存储进了数组中,新增两个数组,存储then方法传入的回调函数。将这段代码包裹成异步代码,使其在。修改传入的then中的回调函数,由于状态已经确定不会再执行。then方法之后执行。

2025-01-21 22:16:23 680

原创 js手写-继承的实现方式

设置子类的原型,减少调用父类构造函数的开销。只能继承父类的属性,不能继承父类原型。调用两次父类构造函数,开销较大。子类实例修改属性,会相互影响。在组合继承的基础上,通过。

2025-01-20 15:23:38 202

原创 js高阶-响应式原理

【代码】js高阶-响应式原理。

2025-01-20 14:47:47 929 1

原创 [前端算法]排序算法

在js中一般用到sort方法。

2025-01-20 11:39:16 541

原创 [前端算法]动态规划

最优子结构,重叠子问题。

2025-01-20 11:38:37 196

原创 js高阶-监听对象的操作

控制与监听对象的行为需求:监听对象中的属性设置与访问的过程。

2025-01-19 21:20:52 583

原创 [数据结构与算法]js实现二叉树

dfs递归本质通过栈结构bfs层序遍历通过队列结构。

2025-01-19 20:00:58 420

原创 js实现数据结构

js实现数据结构+力扣真题

2025-01-17 20:13:41 578

原创 python数据分析与可视化二

使用t检验 计算男生与女生在每个科目上的成绩差异性。绘制男生女生在各个科目上的平均成绩雷达图。总成绩差异(平均值/标准差/中位数)按性别统计各个科目成绩的中位数。男女生在各科目的成绩分布直方图。用箱型图表示男女生总成绩。

2025-01-09 16:07:11 195

原创 TypeScript

简要描述ts

2025-01-09 15:59:47 865

原创 js迭代器模式

ES6约定,任何数据结构只要具备Symbol.iterator属性(这个属性就是Iterator的具体实现,它本质上是当前数据结构默认的迭代器生成函数),就可以被遍历——准确地说,是被for…循环和迭代器的next方法遍历。的背后正是对next方法的反复调用。四种数据结构各自有着自己特别的内部实现,但我们仍期待以同样的一套规则去遍历它们,所以ES6在推出新数据结构的同时也推出了一套。以前JS原生的集合类型数据结构,只有Array(数组)和Object(对象);——迭代器(Iterator)。

2025-01-08 13:15:34 285

原创 js状态模式

状态模式将对象的状态封装成独立的类,并使它们可以互相转换。允许一个对象在其内部状态改变时改变它的行为。

2025-01-08 13:14:49 513

原创 js策略模式

定义一组算法,将每个算法封装成一个独立的类,并使它们可以互相替换。策略模式使得算法的变化不会影响到使用算法的客户。

2025-01-08 13:14:00 430

原创 js观察者模式

它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。当主题对象发生变化时,它的所有观察者都会收到通知并自动更新。

2025-01-08 13:13:01 431

原创 js装饰器模式

装饰器模式是一种结构型设计模式,它允许你在不改变对象结构的情况下,动态地给对象添加新的行为或职责。装饰器模式通过创建一个装饰器类,来包装原始对象,并在不改变原始对象的基础上,为其添加新的功能。装饰器类和原始对象实现相同的接口,因此可以互相替换。优点是可以在不改变原始对象的情况下,动态地添加新的功能,从而提高代码的灵活性和可维护性。同时,装饰器模式也可以避免在原始对象中添加过多的功能,从而提高代码的可读性和可维护性。缺点是会增加代码的复杂性,并且可能会影响代码的性能。

2025-01-08 13:11:29 463

原创 js适配器模式

适配器模式通过,可以帮我们解决的问题。

2025-01-08 13:10:29 564

原创 js代理模式

允许在不改变原始对象的情况下,通过代理对象来访问原始对象。代理对象可以在访问原始对象之前或之后,添加一些额外的逻辑或功能。

2025-01-08 13:09:26 830

原创 js原型模式

在 JavaScript 中,原型模式主要通过原型链实现每个对象都有一个原型对象proto,它可以通过__proto__属性或方法来访问。原型对象本身也是一个对象,它可以有自己的属性和方法当一个对象访问一个属性或方法时,JavaScript 会首先在该对象本身查找,如果找不到,则会沿着原型链向上查找,直到找到该属性或方法为止。如果在原型链的顶端仍然找不到该属性或方法,则返回undefined。

2025-01-08 13:08:37 287

原创 js单例模式

保证一个类只有一个实例,并提供一个访问它的全局访问点。

2025-01-08 13:07:46 401

原创 js工厂模式

js实现工厂模式

2025-01-08 13:06:23 286

原创 js高阶-函数闭包this

闭包,this指向

2025-01-07 19:18:59 1372

原创 javaScript高阶

浏览器内核,代码编译执行

2025-01-07 19:14:30 1076

原创 js高阶-ES6

const 常用于声明常量,其值不能修改,但是如果传递的是引用类型,引用对象内部属性可以修改。* 上层作用域是块级作用域{},因此会找到let声明的i,此时i的值为每一次i的值。let /const 不会在window上添加属性,那么变量是保存在哪里呢?* why:点击触发函数,当前作用域没有i,向上层作用域寻找,在用法上,var和let 的用法类似,用于定义变量。,代码中的函数与变量声明会作为环境记录添加到VE中。点击触发函数,在当前函数作用域中不存在i,在代码编译期间,变量与函数的声明会存放在。

2024-12-29 10:26:46 1194

原创 回流重绘优化

对 DOM 的修改引发了 DOM 几何尺寸的变化(比如修改元素的宽、高或隐藏元素等)时,浏览器需要重新计算元素的几何属性(其他元素的几何属性和位置也会因此受到影响),然后再将计算的结果绘制出来。这个过程就是回流(也叫重排)。触发布局->绘制:当我们对 DOM 的修改导致了样式的变化、却并未影响其几何属性(比如修改了颜色或背景色)时,浏览器不需重新计算元素的几何属性、直接为该元素绘制新的样式。这个过程叫做重绘。触发绘制。

2024-12-28 17:11:13 382

原创 js给dom分页

js引擎与渲染引擎相互独立,回流与重绘。

2024-12-28 17:09:19 311

原创 浏览器渲染优化

目前市面上常见的浏览器内核可以分为这四种:Trident(IE)、Gecko(火狐)、Blink(Chrome、Opera)、Webkit(Safari)。具有与一般情况下分为与js引擎。

2024-12-28 17:07:42 579

原创 浏览器本地存储优化

存储状态存储在浏览器端的文本文件,附着在http请求中同一域名下的所有请求都会携带cookie但是只请求图片等资源不需要cookie的信息,但是还会携带cookie,开销大上限4kB以前除了存储状态,还承担了本地存储的责任。

2024-12-28 14:50:03 159

原创 浏览器缓存优化

是一个时间戳,服务器返回响应,响应头中会有expires字段,存放过期时间,然后浏览器再次发起请求,会先比较本地时间和expires中的过期时间,小于则取缓存,但是服务器和客户端可能。是相对的时间长度,客户端记录请求到资源的时间点作为开始时间,再次发起请求,比较开始时间与当前时间,保证两个时间都来自客户端,规避时差问题。本地资源过期,浏览器向服务器询问缓存信息,如果服务器返回304,则代表缓存资源没有发生改动,浏览器可以继续使用本地资源。base64 可以被放进缓存,较小的js,css,图片也可以。

2024-12-28 14:48:52 1144

原创 js高阶-async与事件循环

Promise的then回调,queueMicroTask,Mutation Api等。setTimeOut,ajax,UI Rendering,Dom监听等。会暂停async函数的执行,等待promise状态改变。为空的时候会检测事件队列,从中取任务执行。await 后面跟promise对象,js是单线程的,同一时间只能做一件事情。事件队列,分为宏任务队列与微任务队列。处理完后将异步任务放入。

2024-12-25 16:21:55 400

原创 js高阶-迭代器与生成器

主要用于线性,可顺序遍历的的数据结构,例如 数组,字符串,set,map。特殊的迭代器对象,除了next,还有return,throw方法。class定义类,使得这个类创建的对象成为可迭代对象。可以使用展开语法以及解构赋值, 因为es+新增的。String,Array,Map,Set等。,说明当前执行完毕,可以返回内容。,说明开始执行,可以传入参数了。先返回内容,再传递内容。

2024-12-25 15:39:46 484

原创 js高阶-Promise

处理异步操作的新增类。

2024-12-25 15:38:27 837

原创 长列表渲染-懒加载-虚拟列表

以下案例模拟10万条数据。

2024-12-22 20:16:50 311

原创 对象函数原型

本质都是调用了Object构造函数,因此实例对象的__proto__指向Object.prototype对象。

2024-12-10 10:36:00 898

原创 [前端面试]vue八股

vue八股

2024-11-24 12:24:01 849

原创 call apply bind

Function对象原型方法,用于改变函数运行时this的指向。

2024-11-19 21:20:34 360

原创 一个简易的响应式系统

函数中使用设置了document.body.innerText的值,而全局其他地方也能设置这个值,因此这个函数的执行会间接影响其他地方,便产生了副作用。

2024-11-18 17:36:33 384

大学专业课技术经济期末复习整理资料

大学专业课技术经济期末复习整理资料

2024-11-15

1.01Chrome架构:仅仅打开了1个页面,为什么有4个进程?.md

1.01Chrome架构:仅仅打开了1个页面,为什么有4个进程?.md

2024-10-19

2204班-实验1-SQL Server数据库基本操作20231210_1.doc

2204班-实验1-SQL Server数据库基本操作20231210_1.doc

2023-12-10

链式结构的管理系统.vcxproj.filters

链式结构的管理系统.vcxproj.filters

2022-11-13

2020_06_11 for循环冒泡排序链表.rar

2020_06_11 for循环冒泡排序链表.rar

2022-11-13

空空如也

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

TA关注的人

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