自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(14)
  • 收藏
  • 关注

原创 React常用hooks

机制:只有props发生变化时才重新渲染 下面的子组件通过 memo 进行包裹之后,返回一个新的组件MemoSon, 只有传给MemoSon的props参数发生变化时才会重新渲染。函数依旧无法阻止子组件的渲染,其实传递prop的时候,往往传递一个回调函数更为常见,比如实现子传父,此时如果想要避免子组件渲染,可以使用。, 但是因为组件App俩次渲染生成了不同的对象引用list,所以传给MemoSon组件的props视为不同,子组件就会发生重新渲染。对于props的比较,进行的是‘浅比较’,底层使用。

2024-04-27 21:00:00 248

原创 CSS属性计算--流水不争先,争的是滔滔不绝

为了消除这些差异,开发者经常会在项目开始阶段引入CSS重置或Normalize.css这样的工具,它们旨在统一不同浏览器下的样式表现,将所有元素的样式初始化至一个已知且一致的状态,以便后续添加自定义样式时能达到预期效果。标题元素、列表、链接、表格、按钮以及其他各种元素的字体、颜色、内边距、外边距等属性有着各自不同的默认处理方式,如果你在作者样式表没有对样式进行统一处理的话,可能会产生很多的浏览器兼容问题。这部分应该很好理解,属性会接受重要性最高的值,即重要性高的值会覆盖掉重要性低的值。

2024-04-27 14:14:21 980

原创 CSS预编译器——Sass 从入门到熟练使用

Sass 是一款强化 CSS 的辅助工具,它在 CSS 语法的基础上增加了变量 (variables)、嵌套 (nested rules)、混合 (mixins)、导入 (inline imports) 等高级功能,这些拓展令 CSS 更加强大与优雅。使用 Sass 以及 Sass 的样式库有助于更好地组织管理样式文件,以及更高效地开发项目。

2023-10-25 17:23:01 452 1

原创 Mock.js快速入门

Mock.js的简单使用

2023-09-13 00:18:57 299 1

原创 跨域问题及解决方案

同源策略是一套浏览器安全机制,当一个源的文档和脚本,与另一个源的资源进行通信时,同源策略就会对这个通信做出不同程度的限制。简单来说,同源策略对 同源资源 放行,对 异源资源 限制,因此限制造成的开发问题,称之为跨域(异源)问题

2023-09-10 01:38:26 145 1

原创 浏览器的通信能力

大部分 GET 请求传递的数据都附带在 path 参数中,能够通过分享地址完整的重现页面,但同时也暴露了数据,若有敏感数据传递,不应该使用 GET 请求,至少不应该放到 path 中。最早是微软在IE浏览器中把这一能力向JS开放,让JS可以在代码中实现发送请求,并不会刷新页面,这项技术在2005年被正式命名为AJAX(刷新页面时,若当前的页面是通过 POST 请求得到的,则浏览器会提示用户是否重新提交。浏览器会拿到当前页面的地址,以及当前页面的请求方法,重新发一次请求,同时抛弃当前页面。

2023-09-10 01:34:32 122 1

原创 网络分层模型和应用协议

当遇到一个复杂问题的时候,可以使用分层的思想把问题简单化比如,你有半杯82年的可乐,想分享给你的朋友王富贵,但你们已经10年没有联系了。要完成这件事,你可能要考虑:我用什么装可乐?可能的方案:塑料瓶、玻璃瓶、煤气罐怎么保证可乐始终处于低温?可能的方案:保温杯、小冰箱、冰盒如何保证可乐不被运输的人偷喝?可能的方案:封条、在上面写「毒药」如何获取王富贵的地址?可能的方案:报案失踪、联系私人侦探、联系物流公司的朋友如何运输?可能的方案:自行车、汽车、火车、高铁、飞机、火箭。

2023-09-10 01:31:36 92 1

原创 CSS 属性计算过程

你是否了解 CSS 的属性计算过程呢?上面的 CSS 代码中,p 是元素选择器,color 就是其中的一个 CSS 属性。但是要说 CSS 属性的计算过程,还真的不是很清楚。没关系,通过此篇文章,能够让你彻底明白什么是 CSS 属性的计算流程。

2023-09-10 01:29:15 49 1

原创 vue3全家桶教程

Vue3全家桶教程@description:系统学习 Vue.js 渐进式 JavaScript 框架 接触到的第一个框架@author:liuwy@date:2023.4.30Ⅰ Vue基础入门目标目录了解Vue一、Vue简介能够知道 Vue 的基本使用步骤二、Vue的基本使用掌握六种指令与过滤器的使用三、Vue的指令和过滤器案例实战——提高熟练程度四、第一个案例——品牌列表案例对Vue基础入门的总结五、Vue基础入门总结一、

2023-05-25 16:59:50 772 1

原创 Node.js教程

模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程。对于整个系统来说,模块是可组合、分解和更换的单元。和函数作用域类似,在自定义模块中定义的变量、方法等成员,只能在当前模块内被访问,这种模块级别的访问限制,叫做模块作用域。Node.js 中的第三方模块又叫做包。就像电脑和计算机指的是相同的东西,第三方模块和包指的是同一个概念,只不过叫法不同。使用 require() 加载自定义模块时,必须指定以 ./ 或 …/ 开头的路径标识符。

2023-05-21 14:45:10 245 2

原创 你不知道的 CSS 之包含块

没错,因为我们对 div1 进行了定位,因此它会应用非根元素包含块计算规则的第三条规则,寻找离它最近的 position 的值不是 static 的祖先元素,不过显然 body 的定位方式为 static,因此 div1 的包含块最终就变成了初始包含块。首先 HTML 作为根元素,对应的包含块就是前面我们所说的初始包含块,而对于 body 而言,这是一个 static 定位的元素,因此该元素的包含块参照第一条为 html,以此类推 div1、p1、p2 以及 em1 的包含块也都是它们的父元素。

2023-05-18 21:02:32 122 1

原创 浏览器的工作原理

reflow 的本质就是重新计算 layout 树。当进行了会影响布局树的操作后,需要重新计算布局树,会引发 layout。为了避免连续的多次操作导致布局树反复计算,浏览器会合并这些操作,当 JS 代码全部完成后再进行统一计算。所以,改动属性造成的 reflow 是异步完成的。也同样因为如此,当 JS 获取布局属性时,就可能造成无法获取到最新的布局信息。浏览器在反复权衡下,最终决定获取属性立即 reflow。repaint 的本质就是重新根据分层信息计算了绘制指令。

2023-05-18 20:59:15 83 1

原创 JavaScript进阶

JavaScript 进阶 ES6 部分特性的总结

2023-05-14 10:55:38 295 1

原创 DOM和BOM教程

DOM和BOM操作的整合

2023-05-11 14:23:57 122 2

空空如也

空空如也

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

TA关注的人

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