自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(355)
  • 资源 (1)
  • 收藏
  • 关注

原创 Vue3 编译原理

compile函数涉及到。

2023-10-09 17:31:44 431

原创 深入props --React进阶指南笔记

调用React.createElement形成新的element过程,新的element上就会有新的props属性(即重新渲染视图的关键)。

2023-09-28 17:21:08 473

原创 React 任务调度

React 任务调度源码探究

2023-09-04 17:54:59 891

原创 微前端初识

维基百科上对微服务的定义:**一种软件开发技术,面向服务的体系结构架构样式的一种变体,将应用程序构造为一组松散耦合的服务,并通过轻量级的通信协议组合起来。**具体来说,就是将一个单体应用按照一定的规则拆分为一组服务。这些服务,各自拥有自己的仓库,可以独立开发、独立部署,有独立的边界,可以由不同的团队进行管理,甚至可以使用不同的编程语言来编写。但对前端来说,仍然是一个完整的服务。面对越来越重的前端应用,可将微服务的思想照搬到前端,就有了微前端的概念。像微服务。

2023-08-08 11:38:38 222

原创 MutationObserver与IntersectionObserver

MutationObserver 和 IntersectionObserver

2023-02-21 11:31:32 1005 4

原创 React 知识点整理

React 知识点整理

2023-02-06 12:48:43 733

原创 Rust语言基础(二)

rust 语言基础

2023-01-31 14:20:31 162 1

原创 Rust语言基础(一)

Rust 语言基础(一)

2023-01-19 13:57:24 2117

原创 回溯算法 详解

回溯算法 详解

2022-08-23 16:32:29 382

原创 实现并查集

实现并查集

2022-08-23 16:08:12 202

原创 手写diff算法

手写 diff 算法

2022-08-10 21:18:22 741

原创 在js中,0表示false,非0表示true

js 中,0表示false,非0表示true

2022-07-26 20:31:19 1306 1

原创 前端经典面试题汇总

前端经典面试题汇总

2022-07-13 17:55:07 790

原创 重绘和回流

重绘和回流

2022-06-30 18:01:00 280

原创 如何实现一个React全家桶项目(附完整教程及代码)

如何实现一个React全家桶项目(附完整教程及代码)

2022-06-26 20:00:45 1341 4

原创 React底层实现原理

React原理解析

2022-06-25 22:14:42 638

原创 React 实现添加和删除评论功能(附完整代码)

React 实现添加和删除评论功能 demo

2022-06-17 16:05:14 784 4

原创 前端常用设计模式

前端 常用设计模式

2022-06-15 17:34:55 830 1

原创 手写Vue3组件库

手写Vue3 组件库

2022-06-14 16:36:36 881

原创 Vue3 注册组件、组件通信

Vue3

2022-06-13 16:25:20 3801

原创 Vue2 Vue3 组件传值的方式 --对比学习

Vue2 Vue3 组件传值的方式 对比学习。

2022-06-12 12:54:06 1678

原创 Vue的Object.defineProperty()方法

Vue Object.defineProperty()

2022-06-03 16:11:40 715

原创 深拷贝与浅拷贝的区别

深拷贝与浅拷贝是针对对象属性为对象的,因为基本数据类型在进行赋值操作时(也就是深拷贝(值拷贝)),是直接将值赋给了新的变量,也就是该变量是原变量的一个副本,这时,你修改两个中的任意一个都不会影响另一个;而对于对象或引用数据在进行浅拷贝时,只是将对象的引用复制了一份,也就是内存地址,即两个不同的变量指向了同一个内存地址,那么在改变任意一个变量的值都是改变内存地址所存储的值,因此两个变量的值都会改变。1. js中的深拷贝(值拷贝):js 中的基本数据类型:String,Number,Boolean,Nu.

2022-05-27 13:39:29 7629 2

原创 JS 线程机制与事件机制

一、进程与线程1. 进程程序的一次执行,它占有一片独有的内存空间可以通过windows任务管理器查看进程可以看出每个程序的内存空间是相互独立的。2. 线程概念:是进程内的一个独立执行单元是程序执行的一个完整流程是CPU的最小的调度单元3.进程与线程应用程序必须运行在某个进程的某个线程的上一个进程中至少有一个运行的线程:主线程 --> 进程启动后自动创建一个进程中也可以同时运行多个线程:此时我们会说这个程序是多线程运行的过个进程之间的数据是不能直接共享的 -

2022-05-25 21:55:27 484

原创 JS 实现继承的七种方式

原型链继承借助构造函数来继承构造函数+原型链 组合继承寄生组合式继承原型式继承寄生式继承class+extends继承一、原型链继承核心:创建父类实例对象作为子类原型优点:可以访问父类原型上的方法或属性,实现了方法复用缺点:创建子类实例时,不能传父类的参数(比如name),子类实例共享了父类构造函数的属性值.<script> // 原型链继承: 将构造函数(子)的原型设置为另一个构造函数(父)的实例对象。 function Person(name) { .

2022-05-21 10:55:16 612

原创 JS 面向对象高级

一、对象创建模式1. Object构造函数模式方式一:Object构造函数模式套路:先创建空Object对象,再动态添加属性、方法适用场景:起始时不确定对象内部数据问题:语句太多/*一个人: name:"Tom", age: 12*/// 先创建空Object对象 var p = new Object() p = {} //此时内部数据是不确定的 // 再动态添加属性/方法 p.name = 'Tom' p.age = 12 p.setName = function (name

2022-05-19 22:27:30 218

原创 JS 闭包详解

一、闭包预备知识1. 举个栗子分析执行上下文let a = 3function addTwo(x) { let ret = x + 2 return ret}let b = addTwo(a)console.log(b); // 5为了理解JavaScript是如何工作的,让我们详细分析一下:在第1行,我们在全局执行上下文中声明了一个新变量a,并将其赋值为3接下来,就变得棘手了,第2行到第5行实际上是在一起的,这里发生了什么?我们在全局执行上下文中声明了一个名为a

2022-05-18 22:46:27 2250 1

原创 JS 作用域与作用域链

一、作用域理解就是一块“地盘”,一个代码所在的区域它是静态的(相对于上下文对象),在编写代码时就确定了。分类全局作用域函数作用域没有块作用域(ES6有了)–> java 语言也有作用隔离变量,不同作用域下同名变量不会有冲突/* //没块作用域 if(true) { var c = 3 } console.log(c) */ var a = 10, b = 20 function fn(x) { var a = 100, c = 300

2022-05-18 15:31:19 197

原创 JS 执行上下文与执行上下文栈

当代码在JS中运行时,执行代码的环境非常重要,并将概括为以下几点:全局代码——第一次执行代码的默认环境。函数代码——当执行流进入函数体时。(…) —— 我们当作执行上下文,是当前代码执行的一个环境与范围。换句话说,当我们启动程序时,我们从全局执行上下文中开始。一些变量是在全局执行上下文中声明的。我们称之为全局变量。当一个程序调用函数时,会发生什么?以下几个步骤:js创建一个新的执行上下文,我们叫做本地执行上下文这个本地执行上下文将有它自己的一组变量,这些变量将是这个执行上下文的本地变量。.

2022-05-18 09:54:51 428

原创 JS 原型与原型链

先熟悉概念,对于JS原型与原型链 有个大致了解:原型:JS是一种通过原型实现继承的语言与别的高级语言是有区别的,像JAVA,C#是通过类型决定继承关系的,JS是动态的弱类型语言,总之,可以认为JS中所有都是对象,在JS中,原型也是一个对象,通过原型可以实现对象的属性继承,JS的对象中都包含了一个prototype内部属性,这个属性所对应的就是该对象的原型。prototype作为对象的内部属性,是不能被直接访问的。所以为了方便查看一个对象的原型,Firefox和Chrome内核的JS引擎中提供了prot

2022-05-18 08:30:41 504

原创 使用Vue封装一个checkbox、checkboxGroup组件

checkbox.vue 组件<template> <label class="one-checkbox" :class="{' is-checked':isChecked}"> <span class="one-check_input"> <span class="one-check_inner"></span> <input type="checkbox" .

2022-05-05 10:21:49 1149

原创 使用Vue封装一个radio组件、RadioGroup组件

一、封装radio组件radio组件基本框架和样式:<template> <label class="one-radio" :class="{'is-checked':label == value}"> <span class="one-radio_input"> <!-- <span class="one-radio_inner"> --> <input type="

2022-05-05 08:36:17 3432 1

原创 使用Vue封装一个switch组件

参数支持:一、switch组件基本框架和样式<template> <div> <span class="x_switch_core"> <span class="x_switch_btn"> </span> </span> <input type="checkbox" class="x-switch-input" :name="name"

2022-05-04 16:58:36 1311

原创 NodeJS 知识点

Node 是什么?Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,Node 不是一门语言,是让 js 运行在后端的,运行时不包括 js 全集,因为在服务端中不包含 DOM 和 BOM,Node 也提供了一些新的模块,比如 http,fs等模块。Node 解决了什么?Node 的首要目标是提供一种简单的,用于创建高性能服务器的开发工具 Web 服务器的瓶颈在于并发的用户量,对比 Java 和 Php 的实现方式Node在处理高并发,I/O 密集场景有明.

2022-04-29 22:04:31 975

原创 如何在npm快速发布一个包【简洁版】

注册并登录npm官网npm config get registry查看本地用的是否是官方的源,如果不是,请换成官网的源:npm config set registry https://registry.npmjs.org登录npm login 之后需要填写用户名、密码、邮箱、一次登录密码(会发邮箱里)。npm whoami 查看当前登录的npm用户是否正确在本地新建一个文件夹mkdir my-package-test进入该文件夹cd my-package-test进行初始化npm .

2022-04-23 10:45:47 220

原创 华为机试题

汽水瓶有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空 汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满 的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以 换多少瓶汽水喝?输入描述:输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<=100).

2022-03-15 20:55:42 688

原创 【leetcode】42. 接雨水

接雨水给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1:输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例 2:输入:height = [4,2,0,3,2,5]输出:9class Solution { // 1. 按行求 (会超时) .

2022-03-13 20:59:49 804

原创 删除一个链表第k个节点

删除一个链表第k个节点。import java.util.Scanner;public class KNode { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); ListNode head = new ListNode(sc.nextI

2022-03-02 20:41:09 436

原创 【笔试题】用java代码实现,输入年月,统计周一出现次数,例如输入2020-08,返回5

用java代码实现,输入年月,统计周一出现次数,例如输入2020-08,返回5。import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.Scanner;/** * @author LiFang * @version 1.0 *

2022-03-01 20:29:22 319

原创 【leetcode】553. 最优除法

553. 最优除法给定一组正整数,相邻的整数之间将会进行浮点除法操作。例如, [2,3,4] -> 2 / 3 / 4 。但是,你可以在任意位置添加任意数目的括号,来改变算数的优先级。你需要找出怎么添加括号,才能得到最大的结果,并且返回相应的字符串格式的表达式。你的表达式不应该含有冗余的括号。示例:输入: [1000,100,10,2]输出: "1000/(100/10/2)"解释:1000/(100/10/2) = 1000/((100/10)/2) = 200但是,以下加粗的

2022-02-27 09:33:59 163

listarypro6zzpj.rar

比everything功能更加强大的全网搜索工具。

2021-04-06

空空如也

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

TA关注的人

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