自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2024总结的vue3的面试题

1、函数名以小写的use开头2、hooks里可以使用vue组件的相关特性(如:生命周期钩子函数,响应式数据等等)3、hooks调用:1)、hooks必须在setup函数的根级调用,即:在setup函数执行时,hooks就要被调用2)、hooks函数可以在其它hooks函数里调用。4、可以补充:1)、参数尽量兼容响应式数据和普通数据2)、返回值最好时由多个响应式数据组成的普通对象(json对象)5、作用:以函数形式抽离一些可复用的方法像钩子一样挂着,放在外部的js文件里。

2024-03-29 23:31:58 1131

原创 typescript中循环对象(for...in)的类型问题 keyof

1、给对象定义类型时,明确写出对象的键的类型和可接受的值的类型。如:表示obj变量是对象类型,键是字符串类型,值是any类型。obj = { name: "张三疯", age: 12 };再如:表示obj变量是对象类型,键是字符串类型,值是number | string 类型。obj = { name: "张三疯", age: 12 };注意:key取值只能是string,number,symbol,或者 template literal type(模板文字类型)

2024-03-28 17:12:41 302

原创 哈夫曼树和哈夫曼编码

取出最小的两个数14和16,作为叶子节点产生树(由于14是第一次产生的树根的权值,所以,需要把它的两个子节点带上)。取出最小的两个数25和30,作为叶子节点产生树。2、每个叶子节点的带权路径长度是:从根节点到该叶子节点的长度(多少根线)乘以该叶子节点里的权值。1、叶子节点的权值:每颗树的叶子节点中的数字是该叶子节点的权值(即:2,4,5,7)。1.2)、对剩下字符的出现的频率和14进行排序排序: 12、13、14、16、45。1.1)、对以上字符的出现的频率排序: 5、9、12、13、16、45。

2024-03-18 17:57:09 390

原创 token的理解和代码,token是什么?

以前有个学生去面试,公司问他,如果你们公司的接口文档被你的亲戚看到了,会怎么样?这个根据学生回忆的写的。其实,面试官想问的意思是,如果一个公司的接口文档被别人(懂程序,懂前端的人)看见,他如果写个代码发送请求,是不是可以把数据库中的数据拿到,如何防止这种情况。,我的亲戚看不懂啊……[secretOrPrivateKey] 加密规则,字符串,或者私钥path模块,其实就是一串字符串(越乱越好)然后,验证token是否正确,如果正确,才给前端响应数据。去数据库中验证,验证通过后,产生token,响应给前端。

2024-02-21 16:56:42 525

原创 上传(图片)文件的功能实现

说句实话,现在的开发简单多了。因为有现成的第三方的上传文件的代码。如果放在我们以前做开发,上传文件的代码都得自己写。那现在的程序员面对上传文件的功能到底写啥代码。1)、对于前端人员:就是把后端的请求地址,请求方式,要传的文件对象(选择的文件)写好。2)、对于后端人员:只需要把接收的文件做重命名,修改位置,图片地址保存的数据库,再把图片地址响应给前端就行。你看看,是不是上传文件是怎么上传的核心部分我们根本不用去关注。话不多说,上干货。本文后端使用nodeJS,第三方模块使用multer。

2024-02-19 21:49:30 570

原创 原生JS面试题整理(2023年)_编程题带答案02

节流是指当一个事件触发的时候,为防止事件的连续频繁触发,设置定时器,达到一种一段事件内只触发一次的效果,在当前事件内不会再次触发,当前事件结束以后,再次触发才有效。// 输出:['https://taobao.com的网页内容', 'https://web.taobao.com的网页内容']<input type="button" value="解绑事件01" onclick="offEvent01()">给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。

2024-01-23 21:17:45 1372

原创 原生JS面试题整理(2023年)_编程题带答案01

这个方法首先使用 filter() 方法遍历第一个数组中的每个元素,然后使用 includes() 方法检查该元素是否存在于第二个数组中。// 输出结果为[1, 2, 3, 4, 5, 6, 7, 8, 9]// 输出结果为[1, 2, 3, 4, 5, 6, 7, 8]// 输出[3, 4]const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];...item, // 将当前项的所有属性展开,赋给一个新的对象。...item // 将当前项的所有属性展开,赋给一个新的对象。

2024-01-23 21:16:18 1000

原创 原生JS面试题整理(2023年)_概念题02

同样的协议,同样的地址,同样的端口。

2024-01-23 21:14:50 579

原创 原生JS面试题整理(2023年)_概念题01

不会报错,const修饰的是数组,而不是数组的元素。补充:const修饰引用类型时,都修饰的是地址。而不是数据。//const修饰的变量是只读,不能修改的,即是常量//const修饰的是直接指向(修饰)的内存//1、const修饰的变量是只读,不能修改的,即是常量//定义了一个变量temp1,赋值为100,const表示以后不能再修改了//这句话会报错,不能给只读变量赋值(Assignment to constant variable.)

2024-01-23 21:13:15 1029

原创 鸿蒙项目二—— 注册和登录

【代码】鸿蒙项目二—— 注册和登录。

2023-12-26 00:27:36 1083

原创 鸿蒙的基本项目_tabbar,首页,购物车,我的

以上效果,由四个ets文件实现,分别是容器页面。首页,购物车,我的。页面里的数据,我是用json-server进行模拟的数据。

2023-12-26 00:17:41 1063

原创 鸿蒙开发中的坑(持续更新……)

file---->settings-->build,Execution,Deployment--->build Tools----->Hvigor 勾选最后一项:Enable the Daemon fo tasks。

2023-12-26 00:01:23 800

原创 鸿蒙的基本入门理解

状态在界面上渲染,修改数据后的重新渲染。组件内定义状态(响应式数据),需要用@State修饰。

2023-12-25 17:15:13 480

原创 一套后台管理系统的入门级的增删改查(vue3组合式api+elemment-plus)

【代码】一套后台管理系统的入门级的增删改查(vue3组合式api+elemment-plus)

2023-11-29 23:13:38 1276

原创 vue高频面试题(2023),有回答思路,并且让你回答清晰

简单回答:如果不是函数,那么,复用的组件的data共享同一块内存空间。具体解释:组件的data必须是函数,而且要有返回object(就是vue2对象的data)。当组件复用时,会自动调用该函数,这样的话返回的新对象就是新开辟的空间。这样就保证了每个组件的data是独立的空间。而不会互相影响。即:组件的作用域(应该)是独立的。

2023-11-29 22:46:21 1546 1

原创 面试题背诵,回答的思路和模板,思路清晰

控制组件的跳转,对是否能够进入某个路径对应组件做限制。根据业务逻辑来判定是否可以进入某个组件。什么时候使用路由守卫:当进入某个路径时,会有限制。就需要使用路由守卫。

2023-11-29 22:06:09 1296

原创 第三方UI组件库的样式修改

由于UI组件库内部的样式我们不是完全清楚,所以,以上方法,都可以尝试,那种方式可以,就用那种。其实,你可以打开chrome浏览器的元素(elements),查看不同组件的内部标签结构和样式,先做做尝试,再在代码中写,同时,也能够了解UI组件库内部的样式情况。

2023-11-29 21:46:19 607

原创 vite脚手架打包并部署到服务器,nginx配置入门

​ 前后端不分离的场景:当你给后端发送请求时, 要在服务端(不一定是nginx服务器,后端服务器如:tomcat)增加一个覆盖所有情况的候选资源(需要给服务器里配置404页面为index.html)。并指定了 /index.html在html文件夹下【此处为什么这样配置,请回忆:history模式和hash的区别(跟后端相关的区别)】​ 前后端分离场景:请求页面时,会找前端服务器(一般是nginx),如果在nginx(的html文件夹)里没有提供路径对应的文件,那就会报404。

2023-10-23 17:46:53 618

原创 vue3组合式api的函数系列一

点击了addMsg

2023-09-25 23:51:04 286

原创 vue中或者react中的excel导入和导出

excel导入和导出是后台管理系统常见的功能。当我们把信息化系统给用户使用时,用户经常需要把以前在excel里录入的数据导入的信息化系统里,这样为用户提供了很大的方便。在用户使用信息化系统时,也需要把网页表格里的数据导出到excel里,方便进行打印,排版等等。

2023-09-25 23:48:08 910

原创 vue中使用富文本编辑器,@tinymce/tinymce-vue

富文本就是在后台管理系统中常见的录入带格式的内容,如:表格,字体加粗,斜体,文字颜色等等,就像一个word一样。类似于这样的效果:我们使用通用在线编辑器tinymce。支持vue和react。

2023-09-25 23:25:40 350

原创 vue面试题_vue2和vue3的区别

在vue3中的setup()中的第二个参数content对象中就有emit,那么我们只要在setup()接收第二个参数中使用分解对象法取出emit就可以在setup方法中随意使用了。vue3:vue3使用组合式api,新的合成型api能让我们使用方法来分割,相比于旧的api使用属性来分组,这样代码会更加简便和整洁。vue2:vue2是把数据放入data中,在vue2中定义数据变量是data(){},创建的方法要在methods:{}中。vue3:vue3中需要使用结构的形式进行操作,引入的是工厂函数;

2023-08-30 22:20:39 940

原创 uni-app里使用webscoket

实现思路和vue中是一样的。

2023-08-27 18:51:35 2006

原创 websocket和uni-app里使用websocket

socket:插座;套接字 ​ 网络上的两个程序通过一个双向(全双工)的通信连接实现数据的交换,这个连接的一端称为一个socket。就像用座机打电话,给两个座机都插上电话线,就可以打电话,即语音信息的交流。属性描述readyState只读属性 readyState 表示连接状态,可以是以下值:0 - 表示连接尚未建立。1 - 表示连接已建立,可以进行通信。2 - 表示连接正在进行关闭。3 - 表示连接已经关闭或者连接不能打开。

2023-08-26 23:11:42 4390 1

原创 支付宝的支付

对于前端的入门学习的人员来说,支付宝提供的沙箱环境,可以让你体验支付的整个流程。

2023-08-26 21:57:32 615 1

原创 react_hooks系列10_useInsertionEffect

与useEffect相同,在所有DOM变更之前同步触发。在使用 useLayoutEffect 读取布局之前,使用这个函数将样式注入到DOM中。因为这个钩子的作用域是有限的,所以这个钩子不能访问 refs,也不能调度更新。

2023-07-09 23:15:31 627

原创 自定义hooks

2)、在自定义hooks里可以使用其它hooks。(普通函数里不能调用hooks);1)、函数名必须以use开头。并且是小驼峰(use后面的首字母需要大写)3)、hooks 只能在其它hooks或者函数式组件里使用。把自定义hooks单独写在一个模块里。1、Hook 是一个函数。

2023-07-09 23:13:30 1061 1

原创 react路由相关的hooks

在非路由跳转的组件里,要获取路由上下文对象,除了可以使用高阶组件withRouter外,react-router-dom里还提供了hooks。

2023-07-09 23:12:21 388

原创 react_hooks系列09_useSyncExternalStore

以及改变state的方法,这里参考redux,设计了dispatch、reducer。,这个新的api将会对React的各种状态管理库产生非常大的影响,subscribe:提供状态发生变化时的订阅能力。getSnapshot: 获取当前状态。currentState:当前状态。React18的beta版本将。

2023-07-09 23:09:13 588

原创 react_hooks系列08_useId

是一个钩子,用于生成唯一的ID,在服务器和客户端之间是稳定的,同时避免hydration 不匹配。hooks需要在函数式组件以及自定义hook的顶级使用(返回jsx代码之前),不要在jsx代码中使用hooks。会生成一个包含 : token的字符串。这有助于确保令牌是唯一的,但在CSS选择器或API(如。对于同一组件中的多个ID,使用相同的ID附加一个后缀。对于一个基本的例子,直接将id传递给需要它的元素。如下例子,保证了元素id的唯一性。不是用来生成列表中的键的。应该从你的数据中生成。

2023-07-09 23:07:21 594

原创 react_hooks系列07_useReducer

1)、userReducer可以把数据和对数据的处理进行封装,每个组件(或者模块)都可以使用。的 reducer,并返回当前的 state 以及与其配套的。2)、userReducer 就是跟redux里的思路一样。

2023-07-02 22:21:43 509

原创 react_hooks系列06_useContext

useContext这个hook能让Context使用起来变得非常简单。不需要再使用Consumer。使用useContext就能拿到context状态树里的值。当组件上层最近的 Provider 更新时,该 Hook 会触发重新渲染。返回值: context对象的当前值(由上层组件中距离当前组件最近的 的。Context状态树的使用,比较复杂,特别是使用Consumer时。参数: context 对象(

2023-07-02 22:11:25 409

原创 react_hooks系列05_useRef,useImperativeHandle,高阶组件forwordRef

返回一个可变的 ref 对象,其(ref 对象).current属性被初始化为传入的参数(返回的 ref 对象在组件的整个生命周期内保持不变。

2023-07-02 22:06:30 849

原创 react-router-dom6,react路由6和5的区别,一文搞懂react-router-dom6

router-router-dom6 就是当前react路由的最新版本 在2021年11月发布 已经是路由推荐版本。

2023-07-02 21:59:50 1315

原创 后台管理系统的权限(vue如何实现后台管理系统的权限,react如何实现后台管理系统的权限)

CRUD的权限思路:根据后端返回的权限数据(如,这种用CRUD字母标识:"0-1-0-R", "0-1-0-U", "0-1-0-D"),通过路由传参,在组件里,显示或者隐藏对应的按钮即可。不同的系统,有不同的角色(其实就是甲方公司的职位),如:HIS(医院信息管理系统)的角色有:院长,主任,医生,护士,药剂师等等,这些人属于不同的岗位,那么,也就具备不同的功能。不同的用户进入同一个页面,对数据的操作权限不一样,即:有的用户进去后,只能查询数据,有的用户可以对数据进行添加,修改,删除。这个权限会发给后端。

2023-07-02 10:32:43 3387 1

原创 vue3的面试题

vue3的面试题

2022-11-20 21:52:36 5398 3

原创 图片懒加载(原生)

1、场景:一个网页如果包含了很多的图片,那么,服务器压力就会很大。不仅影响渲染速度还会浪费带宽。通俗的说:你不看的图片我先不加载,也许你不看呢(哈哈),我何苦要做无效的事情呢 你想看时,我再加载(哈哈)2、原理:  1)、先将img标签的src链接设为同一张图片(默认图片:可以是loading),把图片的实际地址赋给一个自定义属性。这时候所有的图片只发送一次请求。  2)、然后,当js监听到某张图片进入可视窗口时(说明你想看了),再将实际地址赋给src属性。src属性的值发生变化时,浏览

2021-12-29 22:35:39 1515

原创 为什么react选择了函数式组件(剖析原理)

以下代码,没有使用模块化的方式,使用的是CDN的方式。如果需要源代码,请从这个地址下载:链接:https://pan.baidu.com/s/1s57mr5AE_ecWBFZ5TJTwqw提取码:f7x2另外,这篇文章,主要是剖析组件的初次渲染和重新渲染。所以,其它部分不要太较劲。一、react类组件和函数式组件重新渲染时的区别1、看现象:1)、代码(demo01)类组件: // 1、类组件 class ComClass extends React.Component {

2021-11-28 17:46:20 3075 2

原创 react_hooks系列04_useMemo

一、概念和作用​ 写在函数式组件里的 “函数调用代码”。如果函数式组件重新渲染时,每次都会执行“调用函数的代码”。如果不是必须的,那么就是性能的浪费。useMemo就是解决这个问题的。即:useMemo是防止不必要的的函数调用。​ 文字描述总是让你很难理解。很抽象。还是要看代码的。格式: useMemo(函数,数组); //当数组中的其中一个元素,发生变化时,就会调用 函数 。举例:如: const nameStr = useMemo(()=>genNa

2021-11-27 21:01:34 837

原创 react_hooks系列03_useCallback,高阶函数memo

react_hooks的useCallback,高阶函数memo一、概念和作用1、memo高阶函数:memo解决的是函数式组件的无效渲染问题,当函数式组件重新渲染时,会先判断数据是否发生了变化。相当于类组件的PureComponent(默认提供ShouldComponentUpdate)2、useCallback:1)、useCallback会返回一个函数的memoized(记忆的)值2)、在依赖不变的情况下,多次定义(如:函数)的时候,返回的值是相同的 。3)、格式:let 新的函数 =

2021-11-27 20:59:15 910 1

空空如也

空空如也

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

TA关注的人

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