- 博客(9)
- 收藏
- 关注
转载 仅 转载、记录:巧妙实现带圆角的渐变边框
clip-path CSS 属性可以创建一个只有元素的部分区域可以显示的剪切区域。区域内的部分显示,区域外的隐藏。剪切区域是被引用内嵌的URL定义的路径或者外部 SVG 的路径。但是在 CSS 中,还有其它方法可以产生带圆角的容器,那就是借助。,一个非常有意思的 CSS 属性。简而言之,这里,我们只需要在。
2025-03-04 22:46:51
105
原创 JS跳出循环的方法区别(break,continue,return)
continue语句只能用在while语句、do/while语句、for语句、或者for/in语句的循环体内,在其它地方使用都会引起错误!如果一个循环的终止条件非常复杂,那么使用break语句来实现某些条件比用一个循环表达式来表达所有的条件容易得多。由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的break语句才是合法的。所不同的是,它不是退出一个循环,而是开始循环的一次新迭代。当执行return语句时,即使函数主体中还有其他语句,函数执行也会停止!这个循环将不再被执行!
2025-03-04 22:20:40
287
原创 js 垃圾回收机制
垃圾回收器会定期扫描内存中的对象,从根对象开始遍历内存中的所有对象,对于可达对象,通过标记它们来标识它们是可达对象;例如,有一个对象A,其中包含一个指向对象B的引用,而对象B也包含一个指向对象A的引用。例如,有一个对象A,其中包含一个指向对象B的引用,而对象B也包含一个指向对象A的引用。此时,由于对象A和B互相引用的次数不为0,垃圾回收器就无法清除这两个对象,导致内存泄漏。垃圾回收器会记录每个对象被引用的次数,当对象被引用的次数为0时,就将该对象清除。4. 当引用计数器为0时,就将该对象清除。
2025-03-04 22:03:06
743
原创 http协议、TCP协议
1).http是用于从万维网服务器传输超文本到本地浏览器的传送协议(HyperText Transfer Protocol)。超文本传输协议是面向事务的、一种应用层协议,其规定了在浏览器和服务器之间的请求和响应的格式和规则,它是万维网上能够可靠交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。2).HTTP是一个 客户端和 服务器端请求和应答的标准。客户端是终端用户,服务器端是网站。
2025-03-04 22:00:05
1566
原创 JS 中计时器能做到精确计时吗,为啥?
3. 按照 W3C 的标准,浏览器实现计时器时,如果嵌套超过 5 层,则会带有 4ms 的最少时间,这样在计时时间少于 4ms 有待来了偏差。2. 操作系统的计时函数有少量偏差,由于 JS 的计时器最终调用的是操作系统的函数,这也携带了些许偏差。4. 受事件循环的影响,计时器的回调函数只能在主线程栈空闲时才运行,这有带来了偏差。1. 计算机硬件没有原子钟,无法做到精确计时。
2025-03-04 21:29:31
354
原创 浏览器的 回流、重绘
JS 修改样式,本质修改的是 cssom,其中的修改的几何信息时,包括尺寸、位置、新增元素,会启动一些列的重新计算: 计算样式、布局、分层、重新产生绘制指令、分块、光栅化、画,这个过程叫做 reflow. 其本质就是重新计算 layout 树,当进行了会影响布局树的操作后,需要重新计算布局树,引发 layout;为了避免连续的多次布局树反复计算,浏览器会合并这些操作,当 JS 代码全部完成后 再进行统一计算,所以改动属性造成的 reflow 是异步完成的;回流 - reflow?重绘 - repaint。
2025-03-04 21:28:18
204
原创 JS的事件循环
在 Chrome 浏览器的实现中,它开启了一个不会结束的 for 循环,每次循环从消息队列中取出第一个任务执行,而其他线程只需要在合适的时候将任务加到队列的末尾即可。根据 W3C 的官方解释,每个任务有不同类型,同类型的任务不许再同一个队列,不同的任务可以属于不同的队列。不同任务队列有不同的优先级,在一次事件循环中,由。以前把消息队列简单的分为宏队列和微队列,这种说法目前无法满足复杂的浏览器环境,取而代之的是一种更灵活多变的处理方式。但浏览器必须有一个微队列,微队列的任务有最高的优先级,必须优先调度执行.
2025-03-04 21:25:50
188
原创 谈谈你对 ‘JS的异步’ 的理解
JS 是一门单线程的语言,这是因为他运行在浏览器的渲染主线程中,而浏览器的渲染主线程只有一个,而渲染主进程承担着太多的工作:渲染页面,执行 JS 等,都在其中运行。具体的做法是 当某些任务发生时,如计时器、网络、时间监听,主线程将任务交给浏览器的其他线程,自身立即结束任务的执行,转而执。如果使用同步的方式,就极有可能导致主线程产生阻塞,从而导致消息队列中的许多其他任务无法得到执行,这样一来,一方面会导致繁忙的主线程白白消耗时间,另一方面。导致页面无法及时更新,给用户造成卡死的现象。
2025-03-04 21:23:51
188
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人