- 博客(44)
- 收藏
- 关注
原创 CommonJS和ESModule
在html文件中如果只是将script标签通过src引入js文件,就相当于将所有的js文件都放到全局作用域下,这样只是形式上的分为不同的js文件,并没有实际上的模块化,仍然会产生变量命名冲突,代码耦合度过高等情况。模块化就是将不同的代码逻辑,功能点,区分出来形成不同的作用域,区分为互相独立的模块。在多人协作开发的过程中,需要可复用代码在模块之间进行传递,如果每个人在模块中导入和导出的方式都按自己的想法来实现,多人开发的效率就会大大降低,这个时候就需要规范来进行约束,大家都按照这个规范来进行开发,提高效率。
2024-03-20 21:08:06
190
原创 Promise
Promise是ES6新增类,用来解决异步的回调地狱问题,为异步提供更强大的性能支持,一个promise实例对象会存在三种状态,分别是pedding,fulfilled,rejected。创建实例的时候需要给Promise类传入一个回调函数,该回调函数可以传入两个参数,两个参数是两个函数,分别是resolve,reject函数。当触发resolve函数之后,promise的状态值变成fulfilled,之后会执行promise实例的then函数;
2024-03-04 13:59:22
193
原创 JS中的Set和Map数据结构
Set结构中储存的是值,类似于数组,但是储存的值具有唯一性。Map结构中储存的是键值对,类似于对象,但是可以将对象作为键使用,创建Map结构方式如下图:那你肯定也有疑问,既然有对象结构,为什么要添加Map结构,咱们来看下图这个场景:可以看到使用多个不同对象作为键,只会保留一个字符串作为键,这就是Map结构可以解决的问题,也是它们的不同之处,即对象的键只能是字符串,而Map结构的键可以是对象。
2023-12-24 18:11:35
474
原创 类数组对象转为数组的方法
在开发的过程经常会遇到一些类数组对象,例如arguments,类数组对象具有length属性,也可以通过下标访问到对应值,但是不能使用数组的方法,如果将类数组对象转为数组,数组方法可以帮助我们更快实现逻辑,下面列举一些常见的转换方法。
2023-12-10 23:20:27
459
原创 JS中闭包
咱们先看两个比较抽象的理解,闭包是一个函数和其关联环境组成的结构体;闭包是一个函数和该函数周围状态捆绑在一起的组合。直接读这两句话,可以发现虽然对闭包的字面形容不同,但是表达意思一致。你肯定想知道这么抽象的话语,在代码中的具体体现是什么,答案还是两个方面,广义上,只要在JS中声明一个函数,那该函数就可以称为闭包;狭义上讲,当一个函数对外层作用域中产生访问时,这个函数就是闭包。也就是说你在js中写的每一个函数在广义上都是闭包,闭包的应用离我们很近。
2023-12-04 00:07:35
421
原创 ES6中实现继承
本篇文章主要说明在ES6中如何实现继承,学过java的小伙伴,对class这个关键字应该不陌生,ES6中也提供了class这个关键字作为实现类的语法糖,咱们一起实现下ES6中的继承。
2023-11-20 23:05:41
1281
原创 ES5中实现继承
本篇文章主要说明在ES5中最通用最兼容的继承实现方式,继承作为面向对象的三大特性之一,在js中实现继承对代码的简洁性,逻辑的连贯性都有很大的帮助。
2023-11-16 22:54:45
134
原创 签名加密发送请求
本篇文章介绍下通过HMAC-SHA1加密验证,将加密之后得到的签名作为参数发送请求,假如咱们需要按照下列要求将参数加密之后传递:咱们来逐步分析得到签名的步骤和最终发送请求需要携带的参数内容,本次实现是在node.js的环境下。
2023-11-05 22:14:11
120
原创 前端如何将项目打包部署到服务器
本篇文章从前端项目打包开始,逐步完成项目部署到服务器的操作,这次采取的部署方案是通过vscode中Remote-SSH和SFTP两个插件实现项目部署到服务器,并在服务器上通过nginx代理将请求转发到对应的端口。
2023-08-19 22:32:16
1757
原创 vue3中effect函数中收集依赖,触发依赖代码实现
想要理解vue3的响应式是如何实现的,就需要学习effect函数的相关内容,百闻不如一练,这篇文章咱们一块学习effect函数手撕代码的实现。
2023-08-07 09:14:04
223
原创 结合mini-vue分析组件更新的流程
本篇文章我们结合mini-vue来分析组件的更新过程,当点击一个数字加1的按钮之后,vue进行了怎么样的操作,将更新后的数据呈现到页面上,看完这篇,相信你会有更深入的理解。
2023-07-31 11:10:04
71
原创 结合mini-vue源码分析组件的初始化过程
本篇文章咱们结合mini-vue源码对组件的初始化过程进行分析,实例距离咱们的编程更近,可以结合mini-vue中提供的example来更好的分析和理解。
2023-07-30 17:20:31
73
原创 浅析mini-vue源码中get,set,effect的执行过程
想要知道vue3响应式的实现原理,就需要知道get,set,effect的执行过程,本篇文章咱们来通过mini-vue浅析一下get,set,effect的执行过程。
2023-07-23 11:42:33
90
原创 浅析源码中patch到页面内容显示之间的过程
本篇文章咱们一块跟随源码的足迹,浅析从patch到内容显示中间执行了哪些代码,实现了哪些功能,做了哪些事情。
2023-07-20 11:28:37
93
原创 浅析vue3源码从mount到页面的首次显示
本篇博客咱们从上篇博客结束的mount部分延续分析,浅析从mount到页面的首次显示,主线和侧重点和只分析mount那篇博客不尽相同。
2023-07-15 17:43:56
103
原创 从配置文件入手浅析vue3入口文件的执行
本篇文章从配置文件package.json着手,浅析一下到达入口文件位置的过程,从入口文件到达mount之前的过程。
2023-07-14 18:30:29
338
原创 浅析vue3源码中的mount首次挂载
本篇文章一块来浅析下vue3源码中的首次挂载,学习如何在浏览器调试源码,根据一条主线找到首次挂载实现的功能。下载好vue3的源码,在浏览器中打开todomvc.html文件。
2023-07-09 19:11:51
231
原创 JS部分知识点
JavaScript是脚本语言;JavaScript是一种轻量级的编程语言;交互的逻辑都是JavaScript驱动的;ECMAScript标准就可以理解为JavaScript标准;JavaScript的代码通常放在标签中,也可以嵌在其他地方;包裹的代码就是JavaScript代码,将直接被浏览器执行;要把写的JS代码单独放在一个地方,然后在HTML中引入这个文件,这样做的便利之处:1.比较便于进行代码的维护,可以多界面引用同一份JS代码;2.可以在同一个界面引入多个JS文件;
2023-07-02 17:43:04
89
原创 Webpack基础分享
打包开始是目录下找到src路径的index.js,开始进行打包,webpack.config.js用来配置打包开始和结束的位置,通过使用path的__dirname,直接获取到文件所在的绝对路径;同时使用多个loader的话,通过rules:[],test:通过正则表达式显示谁需要使用依赖,use[{写该文件所用的依赖}],如果只有一个依赖,就可以通过语法糖的形式直接写;安装babel的预设,从而把常用的插件安装下来,安装babel,需要用到的插件,配置,才能将代码转换成可以部分浏览器可以识别的内容;
2023-06-25 19:21:05
70
原创 HTTP部分笔记
RFC规范定义的语义中看,GET请求是安全且幂等的,可以对GET请求的数据进行缓存,缓存到浏览器上,GET请求的网页还可以作为书签;在HTTP中安全指的是请求方法不会破坏服务器中的资源,幂等指的是多次执行相同的操作,结果是相同的;HTTP是一个在计算机世界里,专门用来实现两点之间文字,图片,视频等超文本传输的预定和规范;超文本包括简单字符,图片,视频,压缩包的混合体,还包含跳转到其他页面的超链接;状态码3开头表示重定向,请求的资源位置发生改变,需要重新发送请求;文本包括简单字符,图片,视频,压缩包等;
2023-06-18 19:17:35
43
原创 力扣算法题(0 和 1 个数相同的子数组)
可以利用HashMap储存前缀和的方式进行,利用HashMap的不同键将求和过程中可能出现的值都储存下来,利用键的改变来唯一确定0和1不同比例的存在情况,当再次出现这个键的时候,说明0和1的比例相当了,这个时候就可以对子数组的长度进行求解了,下角标做差获取最大值即可。需要理解的地方是初始添加的键值对为(0,-1),数组的长度要计算自身,并且下标是从0算起的,比如1-0得1,但其实此时的长度为2。说明: [0, 1] (或 [1, 0]) 是具有相同数量 0 和 1 的最长连续子数组。
2023-06-11 18:00:09
71
原创 力扣算法题(字符串中的变位词)
思路是利用滑动窗口来实现,将每个字母出现的次数使用数组储存起来,利用滑块将每次截取的部分储存在第二个数组里面,对比两个数组每个字母出现的次数是否相当就可以判断是否为变位词,注意的地方是如果一个字母并没有出现,这时两个情况都为零,但是两者是相等的,故直接判断不相等即可,还有就是每次截止之前将第二个数组置空。示例 1:输入: s1 = "ab" s2 = "eidbaooo"示例 2:输入: s1= "ab" s2 = "eidboaoo"换句话说,第一个字符串的排列之一是第二个字符串的子串;
2023-05-21 17:59:50
93
原创 力扣算法题(只出现一次的数字)
给你一个整数数组nums,除某个元素仅出现一次外,其余每个元素都恰出现三次。请你找出并返回那个只出现了一次的元素。示例:输入:nums = [0,1,0,1,0,1,100]提示:1
2023-02-19 17:59:08
166
原创 解决Dev-C++中使用fscanf函数引入中文乱码的问题
在C语言使用fscanf函数的时候,引入中文可能出现乱码的情况,本篇文章用来解释问题产生的原因并提供解决办法。
2022-12-11 18:56:40
1766
6
原创 在WPS使用NoteExpress完成论文的思路
本篇文章列举的是NoteExpress比较基础的用法,还有很多便捷功能等待你发现。聊聊感受吧,一个知识从零到一的过程比较困难,在没了解之前,会有很多无用信息映入眼帘,多听听已经经历人的建议,再前进事半功倍。
2022-11-27 19:04:14
6447
原创 Vue中key
相信很多小伙伴跟我一样在使用v-for的时候对key值的存在和必要性有疑问,通过ESlint进行代码检查的时候不加上key还会报错,想知道key为什么存在可以先想想key为什么产生。
2022-11-13 09:54:14
2964
1
原创 Vue组件之间的数据传递
在自由贸易场,老刘家有个养鸡园,可以产出鸡肉制品,老刘有两个儿子,大刘负责把每天收到的鸡蛋交给老刘,老刘会把孵出来的小鸡仔交给小刘好生照顾;老赵家有个蔬菜园,由于大环境导致行业不景气,老赵已经好长时间没吃肉了,他晃晃脑袋,眼睛一转,拿些菠菜送给老刘,过来几天,老刘拿着鸡肉登门拜访,老赵如愿以偿,对了,小刘正长个子呢,大刘也特别爱吃菠菜。
2022-11-06 17:18:38
1993
原创 C++顺序栈解决括号的匹配问题
简介:判断一个只包含:“{”、“[”、“(”、“)”、“]”、“}”括号的表达式中括号是否匹配,即从终端输入一个只包含以上几种括号的字符串,判断该字符串中的括号是否匹配。要求:如该括号是左括号,则入栈,如果是右括号,则检测该括号是否与栈顶括号匹配。匹配前需要先判断栈中是否存在元素,如果有则用当前括号与栈顶的括号比较,如果匹配则继续遍历,否则返回匹配失败。
2022-10-16 11:14:13
2645
原创 Vue2+Element UI后台管理系统的实现过程
一个案例有很多小知识汇聚在一起,部分知识需要学会了才能用,还有部分知识用着用着就会了,多思考思考整块逻辑实现的过程,分部实现,逐步攻克,最终实现大的功能,多多实践,找到适合自己的方式。
2022-09-18 17:19:20
1204
1
原创 JS中常见的事件
本篇文章将列举一些JS中常见的事件,熟练使用之后编程速度会提高。鼠标移动事件onmousemove(event):在(event)前面写的是需要监听移动事件的对象;onmouseover:鼠标悬停事件,当鼠标移上去之后会引发的事件,this写在那个标签里就代表那一个标签,调用样式表里的属性的时候,把中间的斜杠删掉;onmouseout:鼠标移开事件,当鼠标从事件上移开的时候,展示出来的效果;鼠标点击事件onclick:当鼠标被点击之后会产生的效果;onmouseup:当鼠标弹起时
2022-04-13 20:49:56
1027
1
原创 JS中的事件冒泡和事件捕获
当有很多盒子嵌套并且多层盒子都存在事件的时候,我们就必须要思考一个问题——这些事件的发生顺序。JS中用事件冒泡和事件捕获来处理事件流中事件发生顺序,在用addEventListener方法添加事件监听的时候,第三个参数用来控制是冒泡事件还是捕获事件(false为冒泡,true为捕获,默认值为false)。事件冒泡事件冒泡顾名思义,事件发生的顺序就像一个气泡从水底浮起那样,从底到顶,从内到外。当只存在事件冒泡的时候,点击“李”的盒子,输出的答案如下图可以看到从内到外依次输出了“li sun
2022-04-12 21:11:36
3764
2
原创 CSS中的flex布局
使用flex布局之后,容器(父类盒子)可以使用的六种属性:flex-direction:决定主轴的方向,即项目排列的方向;row(默认值):主轴为水平方向,起点在左端;row-reverse:主轴为水平方向,起点在右端;column:主轴为垂直方向,起点在上沿;column-reverse:主轴为垂直方向,起点在下沿;flex-wrap:在一行排不下的情况下,决定如何进行换行;nowrap(默认):不换行;wrap:换行,第一行在上方;wrap-reverse:换
2022-03-26 10:45:05
857
1
原创 CSS中常见的高度塌陷问题及解决办法
在使用css实现样式时,难免碰到一个棘手的问题——高度塌陷,如果把问题分析通透,那就容易解决了。“塌陷”很容易让人联想到高楼倒塌,“高度”也应证了这是出现在两个垂直相交的元素(盒子)之间的问题,这两个元素的关系有兄弟元素和父子元素两种情况。1.兄弟元素之间的高度塌陷...
2022-03-25 18:06:28
4344
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人