- 博客(40)
- 收藏
- 关注
原创 HarmonyOS的@State装饰器的底层实现
它在保持TypeScript(简称TS)基本语法风格的基础上,进一步通过规范强化静态检查和分析,使得在程序运行之前的开发期能检测更多错误,提升代码健壮性,并实现更好的运行性能。同时,提供了声明式UI范式、状态管理支持等相应的能力,让开发者可以以更简洁、更自然的方式开发高性能应用。创建一个ts文件并在HTML文件中引入同名的js文件(这个js文件随后会通过自动编译生成),通过下面的命令创建typeScript的配置文件tsconfig.josn。首先创建一个HTML文件,然后安装typeScript。
2024-11-13 21:55:44
662
原创 为什么不要在循环,条件或嵌套函数中调用hooks
自从 React 推出 hooks 的 API 后,相信大家对新 API 都很喜欢,但是它对你如何使用它会有一些奇怪的限制。比如,React 官网介绍了 Hooks 的这样一个限制:不要在循环,条件或嵌套函数中调用 Hook, 确保总是在你的 React 函数的最顶层以及任何 return 之前调用他们。遵守这条规则,你就能确保 Hook 在每一次渲染中都按照同样的顺序被调用。这让 React 能够在多次的 useState 和 useEffect 调用之间保持 hook 状态的正确。
2024-09-25 21:55:31
962
原创 Vue中nextTick的底层原理
知其然且知其所以然,Vue 作为目前最为主流的前端 MVVM 模型框架之一(实际并没有完全遵循 MVVM 模型),在熟练使用的基础上,去深入理解其实现原理是非常有意义的一件事情。阅读 Vue 源码就是一个很好的学习方式,不仅可以让我们帮助我们更快解决工作中遇到的问题,也能借鉴优秀源码的经验,学习高手发现问题、思考问题、解决问题的思路,学习怎么写出规范又好维护的高质量代码。
2024-09-24 09:36:24
1964
原创 深入理解React的Fiber架构
以上内容虽无法覆盖Fiber的方方面面,但可以确保你学完后对Fiber会有一个整体上的认识,并且让你在以后阅读互联网上其它关于Fiber架构的文章时,不再因为基础知识困惑,而是能够根据已有的思路轻松地拓展你大脑里关于Fiber架构的知识网。
2024-09-23 22:02:50
1978
原创 div内英文不换行问题以及解决方案
div设置宽度以后,如果div中放的是中文,默认文字超过div宽度会自动换行,如果是英文,则默认是不换行的,即会超出div的宽度继续显示。这种情况,需要我们通过属性值进行强制换行。/*--只对英文起作用,以单词作为换行依据*//*不换行,超出部分隐藏且以省略号形式出现*//*只对英文起作用,以字母作为换行依据*//*只对中文起作用,强制换行*/使用上述属性一定要指定容器的宽度。/*强制不换行,都起作用*/
2024-09-10 16:44:52
1220
原创 什么是CDN?CDN的原理是什么
对于 CDN 这个东西,相信大家都有耳闻,感觉既陌生但又熟悉。最近深入了解了一下 CDN,这才发现原来 CDN 如此重要!今天就跟大家科普一下 CDN 是什么,以及为啥要有 CDN,最后再讲一下 CDN 的工作过程!其实 CDN 就是内容分发网络的意思,其英文全称为 Content Delivery Network。简单地说,CDN 可以提前把数据存在离用户最近的数据节点,从而避免长途跋涉经过长途骨干网,最终达到减少骨干网负担、提高访问速度的目的。
2024-09-09 11:20:47
67124
原创 JS手写实现深拷贝
原理:利用JSON.stringify 将JavaScript对象序列化成为JSON字符串,并将对象里面的内容转换成字符串,再使用JSON.parse来反序列化,将字符串生成一个新的JavaScript对象。拷贝的对象中如果有 function、undefined、symbol,当使用过JSON.stringify()进行处理之后,都会消失。JSON.parse(JSON.stringify(obj))是比较常用的深拷贝方法之一。实现深拷贝的思路就是,使用for in来遍历传入参数的属性值。
2024-09-07 22:20:12
1352
2
原创 js判断字符串是否为JSON格式
使用场景:在有些项目中我们会将用户输入的JSON字符串转化为对象形式并展示出来,那么首先我们就要判断一个字符串是否为一个合法的JSON字符串。
2024-03-20 21:56:35
1169
1
原创 如何使Base64编码的图片数据在页面上显示
在特定的情况下有时候后端会给我们反一些Base64编码的图片数据,例如实现验证码的效果,那么如何将让这种数据转换为图片在页面上渲染呢?注意:src的data:image/peg;base64,中的图片格式需要根据你自己的图片格式进行修改。首先让我们看看效果是什么样的?
2023-08-21 16:55:40
2116
原创 JS中的 call( ) 方法与apply( )方法详解,以及两者的区别
JavaScript中的 call( ) 方法与apply( )方法详解,以及两者的区别
2023-03-09 15:45:19
300
原创 解决在VUE项目中的package.json文件中修改“scripts“: { “serve“: “vue-cli-service serve --open“,}浏览器显示无法访问此网站的问题
解决在VUE项目中的package.json文件中修改“scripts“: { “serve“: “vue-cli-service serve --open“,}浏览器显示无法访问此网站的问题
2023-03-08 09:42:34
651
原创 《高效能人士的七个习惯》读书笔记
记得未读书的时候,我是一个很皮的女孩,是一堆孩子中的孩子王。我们的工作过程中,会遇到各种各样的学生,各种各样的家长,不要因为学生是否喜欢自己,家长是否认可自己的工作,影响了工作的积极性。4我们的问题可以分为三类:可直接控制的(问题与自身的行为有关),可间接控制的(问题与他人的行为有关)和无法控制的(我们无能为力的问题,例如我们的过去或现实的环境)可直接控制的问题:可以通过培养正确习惯来解决。1.别人对你的评语不一定代表真正的你,与其是说是影像,不如说是投影,反映的是说话者自身的想法和性格弱点。
2022-11-20 15:02:54
239
原创 《这就是软件工程师》读书笔记
一家公司有很多软件工程师,以及日益增长的代码库,如果大家遵循同一套规范,你只需要花很少的时间就看懂,这对提升团队效率的影响是巨大的。软件工程师有些时候是单枪匹马去战斗,难免有自己发现不了的问题,也会有陷入迷茫、难以抉择的时刻,如果你身边有一个值得信懒的伙伴,作为胖过这帮你指出问题、理清思路,就能免去很多烦恼。不要小看改bug,你只有学会在海量的数据里找到bug,学会修补,避免出错,才能知道代码在真实环境里是怎么运行的,才能找到一名软件工程师的工作体感。你要找到自己可以干成的事,找到别人找你请教的事。
2022-10-30 19:24:58
224
原创 Cannot access defaults field of Properties问题的解决
Cannot access defaults field of Properties问题的解决
2022-08-09 14:48:26
27114
26
原创 Could not create connection to database server解决方法
Could not create connection to database server解决方法
2022-08-02 21:03:44
3489
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人