发布了文章2024-12-22
每个 script 标签引入的 JavaScript 代码,都是一个宏任务(也就是说,微任务队列必须在下一个script标签执行前,全部执行完毕)。
发布了文章2024-12-13
在网页中,英文单词、email 地址、URL 等长度不等的字符串展示时,会有如下展示逻辑:不换行,一行展示到底。换行展示。用连字符连接换行的字符串。各种情况比较多,该采用哪个方案?先介绍几个相关的 CSS 属性。word-breakword-break 指定了如何在单词内断行。属性...
发布了文章2024-10-18
利用grid布局可以高效地实现二维布局。但是其众多的属性以及属性值,让很多刚刚接触的人和没有系统性总结的人云里雾里,这增加了使用grid的成本。
回答了问题2024-10-15
取消发送中的ajax请求,虽然不可以阻止服务端处理该条请求,但可以阻止response返回。这应该可以节省一些流量的占用、节省系统的资源。
发布了文章2024-10-14
页面为了能在各个品牌、各个版本的浏览器上正常显示,需要处理各种兼容问题:将现代的 JavaScript 语法(ESNext)转译为旧版的 JavaScript 语法(ES5);为不兼容的 CSS 样式添加浏览器前缀(-webkit-、-moz-);等等。
发布了文章2024-10-07
通过 font-family 为元素中的字体设定字体族名列表(从左到右,字体族名的优先级依次降低);如果当前的字体未能找到,则继续查找下一个后备字体(Fallback Font)。
发布了文章2024-09-25
一年多之前,为了能在老旧的 Vue 项目中开发 React 页面,特地调研了一些主流的微前端框架:qiankun、无界等等。但都发现其实现的方案无法摆脱 JavaScript 的限制,不是 100%的将多个框架分离开,实施过程中,坑太多。于是采用了iframe这个天然的沙箱,将多个框架 10...
赞了回答2024-09-25
javascript单线程,你这个for循环也是同步的,所以,当你已经开始for循环时,修改isBreak的值为true,需要等for循环执行完成,才能将isBreak的值修改为true.
发布了文章2024-09-19
在最近的开发中,eslint 给 a 标签一个警告:查看了一下规则的详情,发现该报错和 DOM 的 rel 属性 noreferrer 和 noopener 有关。下面,先来介绍一下 rel 属性的各个属性值。rel - opener对于 \<a>、\<area>、\<form> 元素的 rel 属性而言,opene...
发布了文章2024-09-17
定义前缀 -- 的属性名,比如 --example--name,表示的是带有值的自定义属性。 {代码...} “css 自定义属性”,其作用域为当前元素以及子元素。 {代码...} 使用var() CSS 函数可以插入一个自定义属性(有时也被称为“CSS 变量”)的值,用来代替非自定义属性中值的任何部...
发布了文章2024-09-16
HTML 元素内的空白主要包含这三个:Space(空格)、Enter(回车)、Tab(制表符)。这个属性指定了两件事:空白字符是否合并?空白字符如何合并?是否换行?如何换行?在日常开发中,对于文字的空格和换行,默认的逻辑是:每一处的空格、回车、制表符都合并成一个空...
发布了文章2024-09-13
主线程(main thread)利用布局树(Layout Tree),生成页面的图层树(Layer Tree)。通过 Chrome DevTools Layers 面板,可以看到页面的图层。面板功能介绍图层列表,包含了页面中所有的图层。图层生成的原因。页面的模型。操作区域,从左到右,依次是:平移模式旋...
发布了文章2024-09-13
背景:event.preventDefault在 JavaScript 中,有许多事件会自动地触发浏览器的某些行为,例如:点击 a 标签——导航到 href 指定的 URL。点击 form 表单的提交按钮——将表单数据提交到服务器,自动跳转到其他页面。在 input 输入框中,按下键盘某个字母——将该字母输入...
发布了文章2024-03-11
网页的快速加载离不开前端缓存技术,前端缓存技术主要分为两种:HTTP 缓存和浏览器缓存。HTTP 缓存HTTP 缓存分为两种类型:强缓存和协商缓存。强缓存当缓存的资源在有效期间内,不会向服务器发起任何请求,直接将缓存的资源当作响应返回。具体示例:Cache-Control - ...
发布了文章2023-05-10
在程序设计领域,罗伯特·C·马丁指出了面向对象编程和面对对象设计的五大基本原则:SOLID。开发一个系统时,如果应用这些原则,将会让系统变得更加易于维护和扩展。
发布了文章2023-05-04
UML 类图类图是面向对象编程的核心建模工具。它描述了对象的类型,以及它们之间存在的各种静态关系。类图的结构类图由三个区域组成:名称:类/接口的名称;当类是接口时,需要在名称的上一行添加<<interface>>。属性:结构为 [visibility attr] fieldNam...
发布了文章2023-03-09
对于JavaScript语言而言,在引入BigInt之前,所有的数字都用Number类型表示。根据ECMA-262规范对Number类型的定义:采用IEEE754标准,用64位空间和浮点数算法在内存中存储数字。64位双精度浮点数,存储结构以及表达值双精度浮点数的64位存储空间,由符号位(sign)、...
发布了文章2023-01-25
在日常开发中,经常使用z-index样式属性调整元素的层级大小。一般情况下,都能达到元素之间覆盖效果的要求。但在某些场景下,不论定位元素z-index属性值设置多大,都无法在页面的最顶层呈现。虽然可以可以把该元素提升为<body>的直接子元素,并且确实可以达到...
发布了文章2023-01-19
之前开发广告位时,使用过API - IntersectionObserver监听广告位的曝光。当时,仅仅是通过实例demo快速了解然后使用,并没有深入了解。接下来就 IntersectionObserver API 深刻认识一下。
发布了文章2023-01-18
对于页面的布局,前端开发者都大概了解:block元素占据网页一整行空间,从上到下排列;多个inline元素共享网页一整行空间,从左到右,超出横向空间时,则向下排列。但在开发页面时,会经常遇到浮动高度塌陷、垂直方向上的margin重叠or溢出等场景。虽然利用CSS Hack可...