- 博客(106)
- 收藏
- 关注

原创 Vue3响应式原理分析(reactive,ref,computed底层实现)
本文主要介绍Vue3响应式原理的实现,最后会以demo的形式一步步带你实现 reactive ref computed底层实现步骤。
2022-05-25 11:35:52
3807
4

原创 Vue响应式原理详细讲解
面试官:请你简单的说说什么是Vue的响应式。小明:mvvm就是视图模型模型视图,只有数据改变视图就会同时更新。面试官:说的很好,回去等通知吧。小明:....
2022-05-23 15:35:53
787
原创 终端提示 ——Oh-My-Zsh的正确打开方式(chatGpt生成)
同学们大家好,这篇文章比较特殊,因为这篇文章除了开头,其他的内容全是通过调教chatGpt生成的,故事背景是在周末捣鼓终端提示的时候接触到了Oh-My-Zsh ,正好网上关于Zsh使用的示例也比较少(基本上找到),就准备自己写一篇关于zsh的使用,刚好想到前段时间听说chatGpt可以写博客,就有了下面这篇文章
2023-04-03 11:07:54
1895
原创 nuxt3使用总结
目前来说nuxt3基本上已经成熟(在使用之后感觉社区还是没有那么成熟,踩了不少坑),目前项目已经成功上线,在项目过程中遇到不少问题没有找到答案,都是自己摸索出来的,希望本篇文章能帮助各位小伙伴少走弯路。
2023-03-11 14:07:08
2556
2
原创 一位普通前端开发的一年|2022总结
时光如梭,岁月匆匆而过,2022年转眼快要结束,在这一年我学到了很多东西,现在就来总结一下我的2022,复盘一下过去一年的成果。
2022-12-29 18:10:40
1430
原创 零基础刷LeetCode-10- I. 斐波那契数列(javaScript实现)
小伙伴们大家好,说到算法大家都不陌生,在我们的面试过程中或多或少都会遇到一些算法相关的内容,很多刚入行的小伙伴对于算法可能比较陌生,这里我会带领大家从最简单的算法题开始上手,从简单的算法与数据结构开始到后面Vue,React中用到的diff算法,任务调度等。让大家彻底掌握前端常用的算法。
2022-11-01 09:23:44
445
原创 uniapp地图组件(map)使用问题总结
前几个月写了一篇关于map组件的使用方式uniapp 地图组件(map)的使用总结,上个月我们公司将整个小程序进行了一次重构,地图这边也有很多修改的地方,看见小伙伴对于上一篇文章写的使用和有些功能有些不清楚。一直都想重新写一篇文章进行总结,因为工作原因(太懒了)一直没机会。正好趁这次1024活动于是决定将文章重新总结一下。
2022-10-21 16:07:01
5410
4
原创 零基础刷LeetCode-704.二分查找(javaScript实现)
说到算法大家都不陌生,在我们的面试过程中或多或少都会遇到一些算法相关的内容,很多刚入行的小伙伴对于算法可能比较陌生,这里我会带领大家从最简单的算法题开始上手,从简单的算法与数据结构开始到后面Vue,React中用到的diff算法,任务调度等。让大家彻底掌握前端常用的算法。
2022-09-13 19:53:49
221
原创 前端实现Jest单元测试
首先简单理解一下什么是单元测试,举个例子:小明同学偶然发现海海同学做的组件库不错,想学习一下,于是就拉了代码,不过在看代码的过程中发现有的代码有更优性能的方法,但是呢他自己也不确定性能是否更好,那这种情况怎么办呢,这时候就可以用到我们的单元测试了。...
2022-07-27 17:10:15
807
原创 node.js实现阿里云配置发送短信验证码
这段时间在自己准备做一个博客系统,在写登录页面的时候突然想到除了正常账号密码登录和其他第三方登录之后,在加一个手机号登录岂不是更好。说干就干,于是就是阿里云上找了一下关于短信的服务,看了一下还是比较符合我们的需求,于是就决定使用阿里云......
2022-07-06 14:42:46
1762
5
原创 uniapp封装axios?大可不必那么麻烦。
最近群里的一个小明同学问我们uniapp可以使用axios请求吗?我当时就一愣 反问为什么要使用axios,是 uni.request 不香了吗?小明:因为axios可以像vue2的项目一样,在request里面封装巴拉巴拉一堆。我:那uni.request不也可以吗小明:可是我不知道 uni.request怎么封装,可以讲讲然后我教教新来的是实习生吗。.........
2022-06-21 15:04:53
13864
8
原创 零基础学小程序 —— 页面配置和网络数据请求(五)(完结)
上文我们已经了解了小程序的全局配置,并详细认识了一些基本的语法接下来我们将讲解小程序的页面配置,配置在前面几篇文章中我们在讲解的时候已经简单提过了,这篇文章的目的就是详细讲解一下我们在小程序开发中一些常用或者说是用得上的一些配置。.........
2022-06-17 10:52:50
350
1
原创 零基础学小程序 —— 全局配置(四)
上文我们已经了解了小程序的模板样式,并详细认识了一些基本的语法,接下来我们将讲解小程序的全局配置,配置在前面几篇文章中我们在讲解的时候已经简单提过了,这篇文章的目的就是详细讲解一下我们在小程序开发中一些常用或者说是用得上的一些配置。.........
2022-06-14 11:20:35
1060
1
原创 零基础学小程序 —— 模板样式(三)
说到样式可能很多同学的想法是样式不重要,反正都会写。其实我一开始也在犹豫要不要把模板样式写上去,因为样式对于一个老程序员来说确实挺简单的,但是对于一些刚进入企业或者一些刚入门的新手程序员来说,可能你觉得你的样式写的没问题,但是别人一看你的代码就会觉得你是个新手,所以这里想讲讲模板样式,后面会把我自己的一些写样式在习惯加在后面......
2022-06-10 11:02:02
1270
原创 零基础学小程序 —— 模板语法(二)
上文我们已经创建好了小程序,并了解了一些基本的配置,新手建议从第一章开始看零基础学小程序 —— 小程序入门(一)接下里我们将深入的讲解小程序的模板语法
2022-06-09 15:36:27
1402
原创 零基础学小程序 —— 小程序入门(一)
首先我们需要知道小程序与普通网页开发的区别有哪些呢?1.运行环境不同2.开发模式不同3.API 不同 ....
2022-06-08 16:40:41
1956
1
原创 Vue3自动引入组件,组件库
在做vue3项目中时,每次使用都需要先进行引入,用ts的还好,会有爆红提示,如果是使用js开发的很多时候都会等到编译的时候才发现哪里哪里又没有引入,就会很浪费时间,偶然发现一款好用的组件可以帮助我们很好的解决这种问题。...
2022-05-16 15:25:28
17341
2
原创 Vue3利用watchEffect监听实现防抖
首先在讲防抖之前先了解一下watchEffect, 官方对watchEffect的解释是立即执行传入的一个函数,同时响应式追踪其依赖,并在其依赖变更时重新运行该函数。 什么意思呢,意思在页面加载之后就立即执行一遍在watchEffect中的数据,如果写在watchEffect中的响应式数据发生改变则会在次触发watchEffect就像下面这样,刚进入页面就调用了一次既然了解了watchEffect的执行条件,那么如何使用watchEffect实现防抖呢那么就需要使用watchEffec.
2022-04-29 15:14:12
3391
原创 “UnwrapRef“ 是一种类型,在同时启用了 “preserveValueImports“ 和 “isolatedModules“ 时,必须使用仅类型导入进行导入。
Vue3+vite+TypeScript声明UnwrapRef出现解决方式找到tsconfig.json设置preserveValueImports为false "compilerOptions": { "baseUrl": ".", "paths": { "@/*": ["./src/*"] }, "preserveValueImports": false, // "isolatedModules": false, },即可.
2022-04-15 17:29:29
8924
2
原创 uniapp 地图组件(map)的使用总结
这段时间在开发uniapp的时候使用到map组件总结一下本次在uniapp中使用map遇到的一些问题文章分别是基础 定位图标获取自身经纬度 通过经纬度获取当时城市信息
2022-03-21 18:19:51
36890
33
原创 推荐一款基于Vue3+vite+ts的项目模板
各位小伙伴好久不见,最近由于换工作的问题挺长一段时间没有更新博客,接触到新公司的项目正好也是vue3+vite+ts,就想到前段时间自己玩的一个模板,就找机会完善了一下。先看图,大概是这样的。Vue3+vite+ts模板此模板适合vue3初学者,可以拿来当练手的项目。基本功能也比较齐全,后续有机会也会慢慢完善后续功能,项目有开始搭建到最后的手把手教学,有多详细呢?大概是只要你跟着做我觉得就是可以做出来的。欢迎克隆地址 :Vue3+vite+ts项目模板: 本项目基于vue3+vite
2022-03-15 16:32:47
1660
原创 微信小程序下载文件和转发文件给好友总结
这段时间公司让我负责小程序的一些功能开发,回想上次开发小程序还是在上一次,这次开发小程序主要实现的功能就是转发文件给好友和下载文件,总结一下这次遇到的各种问题和解决方法。
2022-01-21 14:23:02
10460
6
原创 Vue3+vite个人博客网站从0-1(element-plus组件库引入+首页样式布局)
接着上一节,这一章主要是将element-plus组件库引入到项目中,然后将咱们之前漏掉的css预处理器给安装上来,然后讲首页基本显示出来,如果没有从第一章开始的小伙伴可以先从第一章开始看
2022-01-20 17:51:06
4363
原创 Vue3项目从0-1项目(手把手教学)
学完vue3之后一直感觉手痒痒想用vue3做项目,正好最近公司不是很忙,就以公司现开发项目为模板将公司项目升级3.0。
2022-01-07 16:13:21
2350
2
原创 圣诞节用女神照片做了一个旋转木马
圣诞节到了 看见朋友圈都是送各种各样的礼物的 作为一个程序员 肯定是要给女朋友准备一份不一样的礼物啦。看见在网上看见各种旋转圣诞树的,就想到了这个旋转木马 赶紧学起来发给女朋友看看!...
2021-12-25 11:06:13
810
原创 仿百度实现本地搜索组件(npm)
grabbbasbly是一款基于vue的搜索组件 用户需传入 需要传入被查询的内容(数组)传入内容的name 内容的id 即可实现简单的本地搜索 或者数据库搜索,
2021-12-17 17:55:44
361
原创 vscode自定义代码模板方法
本文主要讲解vscode实用小技巧之自定义模板的使用首先打开 文件/首选项/用户片段如果没有新增过可以点击新建定义名字。定义一个箭头函数在页面上输入定义好的关键字就可以啦 个人博客正在搭建中 欢迎来访 haihaina.cnhttp://haihaina.cn......
2021-12-13 11:00:57
857
原创 前端面试题之对this的理解
this 是一个在运行时才进行绑定的引用,在不同的情况下它可能会被绑定不同的对象。默认绑定 (指向window的情况) (函数调用模式 fn() )默认情况下,this 会被绑定到全局对象上,比如在浏览器环境中就为window对象,在node.js环境下为global对象。message = "Hello";function test () { console.log(this.message);}test() // "Hello"隐式绑定 (谁调用, this指向...
2021-09-29 20:38:35
259
原创 前端面试题HTTP状态码
部分引用官方文档成功(2XX)状态码 原因短语 说明 200 OK 表示从客户端发来的请求在服务器端被正确处理 201 Created 请求已经被实现,⽽且有⼀个新的资源已经依据请求的需要⽽建⽴ 通常是在POST请求,或是某些PUT请求之后创建了内容, 进行的返回的响应 202 Accepted 请求服务器已接受,但是尚未处理,不保证完成请求 适合异步任务或者说需要处理时间比较长的请求,避免HTTP连接一直占用 204 No co
2021-09-28 22:52:40
358
原创 前端面试题get方法和post方法的区别
默认的http请求的内容, 在网络中传输, 明文的形式传递的 (https 对内容加密) GET方法 POST方法 数据传输⽅式 通过URL传输数据 (地址栏拼接参数) 通过请求体传输 数据安全 数据暴露在URL中,可通过浏览历史记录、缓存等很容易查到数据信息 数据因为在请求主体内, 所以有⼀定的安全性保证 数据类型 只允许 ASCII 字符 ⽆限制 GET⽆害 刷新、后退等浏览器操作是⽆害的 可能会引起重复提交表单 功能特
2021-09-27 23:16:01
220
原创 前端面试题重绘(repaint)和重排(回流reflow)
重排重排是指部分或整个渲染树需要重新分析,并且节点的尺⼨需要重新计算。表现为 重新⽣成布局,重新排列元素。重绘重绘是由于节点的⼏何属性发⽣改变,或由于样式发⽣改变(例如:改变元素背景⾊)。表现为某些元素的外观被改变。或者重排后, 进行重新绘制!两者的关系重绘不⼀定会出现重排,重排必定会触发重绘。每个页面至少需要一次回流+重绘。(初始化渲染)重排和重绘的代价都很⾼昂,频繁重排重绘, 会破坏⽤户体验、让界面显示变迟缓。我们需要尽可能避免频繁触发重排和重绘, 尤其是重排
2021-09-26 23:01:12
410
原创 前端面试题之变量提升
变量提升(hoisting),是负责解析执行代码的 JavaScript 引擎的工作方式产生的一个特性。JS引擎在运行一份代码的时候,会按照下面的步骤进行工作: 首先,对代码进行预解析,并获取声明的所有变量 然后,将这些变量的声明语句统一放到代码的最前面 最后,开始一行一行运行代码 console.log(a)var a = 1function b() { console.log(a)}b() // 1变量的这一转换过程,就被称为变...
2021-09-25 20:43:39
303
原创 前端面试题对于HTML 语义化的理解?
语义化的好处 (利于SEO, 可阅读性更好)语义化前:在语义化之前,你可能会使用各种各样的标签去实现同样的功能,比如: 使用 span、div、p、a 等做文字, 做按钮 使用 div 做一切 从功能方面来说,这确实是不存在什么问题的,完全可以达到功能效果。但这不符合直觉,非常不友好: 对人不友好:阅读代码的人不能一眼看出代码的功能 对机器不友好:解析代码的程序不能很好的对这些元素进行分类处理 语义化后: HTML5 规范提倡语义化标签,即使⽤恰当语义的.
2021-09-24 21:28:57
176
原创 前端面试题对于媒体查询的理解
响应式适配 根据不同的屏幕尺寸, 显示不同的效果 (设置盒子的样式)媒体查询是自 CSS3 开始加入的一个功能。它可以进行响应式适配展示。媒体查询由两部分组成: 一个可选的媒体类型(如 screen、print 等) 零个或多个媒体功能限定表达式(如 max-width: 500px、orientation: landscape 等) 这两部分最终都会被解析为 true 或 false 值,然后整个媒体查询值为 true,则和该媒体查询关联的样式就生效,否则就不生效。代码部分
2021-09-23 21:01:15
752
原创 前端面试题Vue 项目如何进行 SEO 优化
本文部分内容参考官方文档Vue SPA单页面应用对SEO不太友好,当然也有相应的解决方案,下面列出几种SEO方案 SSR服务器渲染 服务端渲染, 在服务端html页面节点, 已经解析创建完了, 浏览器直接拿到的是解析完成的页面解构 关于服务器渲染:Vue官网介绍 ,对Vue版本有要求,对服务器也有一定要求,需要支持nodejs环境。 优势: 更好的 SEO,由于搜索引擎爬虫抓取工具可以直接查看完全渲染的页面 缺点: 服务器nodejs环境的要求, 且对原代码的改造成本高! nuxt
2021-09-22 20:45:52
509
原创 如何理解Vue的响应式系统
部分内容参考官方文档MVVMM: model数据模型, V:view视图模型, VM: viewModel视图数据模型双向: 视图变化了, 数据自动更新 => 监听原生的事件即可, 输入框变了, 监听输入框input事件 数据变化了, 视图要自动更新 => vue2 和 vue3 基本原理vue2.0 数据劫持: Object.defineProperty (es5)vue3.0 数据劫持: Proxy (es6)分析 :Vue的 MVVM 原理...
2021-09-21 19:41:37
179
原创 前端面试题Vue双向绑定原理
基本认知在 Vue 2.x 中,利⽤的是 Object.defineProperty 去劫持对象的访问器(Getter、Setter),当对象属性值发⽣变化时可获取变化,然后根据变化来作后续响应;(一个一个的劫持)在 Vue 3.0 中,则是通过 Proxy 代理对象进⾏类似的操作。劫持的是整个对象, 只要对象中的属性变化了, 都能劫持到Object.defineProperty和Proxy的优缺点?Proxy 可以直接监听整个对象,⽽⾮是对象的某个属性 可以直接监听数组
2021-09-20 19:00:07
382
原创 前端面试题( TCP 三次握手和四次挥手的理解)
TCP是一个端到端的 可靠 面相连接的协议,HTTP基于传输层TCP协议不用担心数据传输的各种问题(当发生错误时,可以重传)根据这个IP,找到对应的服务器,发起TCP的三次握手 (tcp 三次握手四次挥手 )关闭TCP连接四次挥手的理解 (客气挽留)关闭连接(四次挥手)不能直接一次性断开连接(双方知晓), 万一还有什么数据没有传完, 造成数据的丢失!完整的一次 http 请求流程才算结束 致读者:由于服务器正在搭建中, ajax暂时停止更新, 等服务器搭建完...
2021-09-19 20:06:33
472
原创 jQuery入门第十三章(ES6新增数组方法)(完结)
.find( ) 查找数据 .findIndex( ) 查找数据的下标 查找数据const 返回的数据 = 数组.find(item => 条件); // 回调函数查找数据的下标const 返回的数据下标 = 数组.findIndex(item => 条件);致读者jQuery的复习到这里就结束啦,后续也会继续给大家分享更多的知识 记得养成天天学习的好习惯哦上一章:jQuery入门第十二章(页面传参)https://bl......
2021-09-17 21:11:11
172
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人