<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cb294的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cb294</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cb294]]></copyright><item><title><![CDATA[深入理解 Node.js 事件循环]]></title><link>https://blog.youkuaiyun.com/cb294/article/details/151176723</link><guid>https://blog.youkuaiyun.com/cb294/article/details/151176723</guid><author>cb294</author><pubDate>Thu, 04 Sep 2025 10:42:55 +0800</pubDate><description><![CDATA[Node.js 的事件循环（Event Loop）是其处理异步操作的核心机制。它使得 Node.js 能够高效处理大量并发请求，而无需等待每个操作的完成。本文将详细解析 Node.js 事件循环的工作流程及其关键阶段。Node.js 的事件循环是其高效处理异步操作的关键。理解事件循环的各个阶段及其执行顺序，可以帮助开发者编写出更高效、更可预测的代码。Timers 阶段：处理setTimeout和的回调。Poll 阶段：处理 I/O 回调，可能阻塞等待新事件。Check 阶段：处理的回调。微任务。]]></description><category></category></item><item><title><![CDATA[HTTP1.0、HTTP1.1、HTTP2.0、HTTP3.0的区别]]></title><link>https://blog.youkuaiyun.com/cb294/article/details/151149973</link><guid>https://blog.youkuaiyun.com/cb294/article/details/151149973</guid><author>cb294</author><pubDate>Wed, 03 Sep 2025 15:18:50 +0800</pubDate><description><![CDATA[HostRange。]]></description><category></category></item><item><title><![CDATA[前端如何用手机连电脑调试页面（及注意事项）]]></title><link>https://blog.youkuaiyun.com/cb294/article/details/125452001</link><guid>https://blog.youkuaiyun.com/cb294/article/details/125452001</guid><author>cb294</author><pubDate>Fri, 24 Jun 2022 20:49:02 +0800</pubDate><description><![CDATA[1.打开手机的开发者模式，一般android手机都是以下路径打开开发者模式，设置->关于手机->版本号连按5次，之后设置菜单中会多出一个开发人员选项，进入将其中的"USB调试"打开即可；2.将手机与电脑通过USB线连接，弹出对话框"是否允许USB调试"，选择确定；3.打开手机上要调试的页面；4.PC端新开chrome的tab，输入chrome://inspect/，进入调试页面。此时chrome检测到了手机和手机运行的网页，找到要调试的网页并点击inspect就好了 ...]]></description><category></category></item><item><title><![CDATA[获取日期的年份、月份、几号，星期几。某月有几天，某月第一天和最后一天是星期几。]]></title><link>https://blog.youkuaiyun.com/cb294/article/details/120810826</link><guid>https://blog.youkuaiyun.com/cb294/article/details/120810826</guid><author>cb294</author><pubDate>Sun, 17 Oct 2021 15:29:47 +0800</pubDate><description><![CDATA[以当天日期为例，先看看当天日期。月份会比较特殊，要多看看第4-7点



对new Date()不了解的可以看我这篇文章(4条消息) angular的datePipe（时间管道）函数也太香了吧_cb294的博客-优快云博客

1、获取当天是几号用getDate()



2、获取当前年份用getFullYear()



3、获取当前是星期几



今天是星期天，一周是从星期天开始，又因为获取的星期是从0-6，所以是数字0

4、获取当天是几月用getMonth()



可能大家会奇怪，不是10月吗，.]]></description><category></category></item><item><title><![CDATA[如何获取毫秒数，计算时间差]]></title><link>https://blog.youkuaiyun.com/cb294/article/details/120809923</link><guid>https://blog.youkuaiyun.com/cb294/article/details/120809923</guid><author>cb294</author><pubDate>Sun, 17 Oct 2021 13:20:46 +0800</pubDate><description><![CDATA[废话不多说，直接上代码。

毫秒数用getTime()就可以获取





获取时间差，不能直接用已经格式化好的时间对其做运算，需要转化为毫秒数，对毫秒数进行运算，然后将结果/1000是两者相差几秒



将结果/1000/60是两者相差几分钟



将结果/1000/60/60是两者相差几小时



通过以上的例子也可以知道，假设要算两小时的毫秒数直接用2*60*60*1000即可
...]]></description><category></category></item><item><title><![CDATA[angular的datePipe（时间管道）函数也太香了吧]]></title><link>https://blog.youkuaiyun.com/cb294/article/details/120809057</link><guid>https://blog.youkuaiyun.com/cb294/article/details/120809057</guid><author>cb294</author><pubDate>Sun, 17 Oct 2021 13:14:06 +0800</pubDate><description><![CDATA[这几天做项目的时候，研究了一下公司大佬写的框架，发现了宝藏datePipe函数。

用这个函数可以直接给日期格式化，不需要自己封装函数。

用这个函数前先引入import{DatePipe}from'@angular/common';

然后在@Component({})里输入providers:[DatePipe]

接下来就可以用this.datePipe.transform(newDate(),'yyyy-MM-dd HH:mm:ss')去格式化时间了



new Date()是返回...]]></description><category></category></item><item><title><![CDATA[解决苹果手机底部黑线影响布局的问题]]></title><link>https://blog.youkuaiyun.com/cb294/article/details/120692962</link><guid>https://blog.youkuaiyun.com/cb294/article/details/120692962</guid><author>cb294</author><pubDate>Sun, 10 Oct 2021 21:43:13 +0800</pubDate><description><![CDATA[今天做项目的时候，发现安卓手机和苹果手机有一个差异

苹果手机底部黑线会挡住我页面底部的内容

解决方法就是给盒子底部加内边距，即padding-bottom:env(safe-area-inset-bottom)

env(safe-area-inset-bottom)可以根据苹果手机底部黑线的高度来确定内边距大小
...]]></description><category></category></item><item><title><![CDATA[各个大厂适用的移动端rem适配方案--flexible.js]]></title><link>https://blog.youkuaiyun.com/cb294/article/details/118975082</link><guid>https://blog.youkuaiyun.com/cb294/article/details/118975082</guid><author>cb294</author><pubDate>Wed, 21 Jul 2021 20:20:06 +0800</pubDate><description><![CDATA[移动端css文件中，body元素经常会设置min-width，max-width，width。

而有的网页只设置了min-width：320px，width：15rem。实际是因为他们没有引入flexible.js，15rem已是最大宽度750px(前提是他们的设计稿宽度是750px，且将页面划分15等份)

引入flexible.js文件除了设置min-width，width，还会设置max-width。因为docEl.clientWidth是以浏览器的可视区域而定，即pc端浏览器打开页面就会以pc端宽]]></description><category></category></item><item><title><![CDATA[浮动和定位引发的属性变化]]></title><link>https://blog.youkuaiyun.com/cb294/article/details/117897758</link><guid>https://blog.youkuaiyun.com/cb294/article/details/117897758</guid><author>cb294</author><pubDate>Mon, 14 Jun 2021 09:21:07 +0800</pubDate><description><![CDATA[浮动和定位的共性(只针对会使盒子脱标的属性，即浮动、绝对和固定定位)：
行内元素变得可以直接设置行和高。块级元素宽度变成自己本身内容的宽，需要自己设置宽，其余还保留块级元素的特性。
	脱标的盒子不会触发外边距塌陷问题。
	加了绝对定位和固定定位无法用margin：auto使其居中，则用left+transform（令其走浏览器的50%，再往回走自己本身宽度的50%）
	浮动的盒子会压住下面标准流的盒子，不会压住文字，而定位会压住下面标准流所有内容。所以可以可利用浮动做文字环绕效果。
...]]></description><category></category></item><item><title><![CDATA[margin：0 auto会一直有效？]]></title><link>https://blog.youkuaiyun.com/cb294/article/details/117716899</link><guid>https://blog.youkuaiyun.com/cb294/article/details/117716899</guid><author>cb294</author><pubDate>Tue, 08 Jun 2021 22:10:35 +0800</pubDate><description><![CDATA[答案肯定是否。

首先，margin：auto只针对块级元素，如果要让行内和行内块元素居中就要给父级元素添加属性text-align：center。




]]></description><category></category></item><item><title><![CDATA[css初始化代码，各个大厂适用的css文件]]></title><link>https://blog.youkuaiyun.com/cb294/article/details/116610032</link><guid>https://blog.youkuaiyun.com/cb294/article/details/116610032</guid><author>cb294</author><pubDate>Mon, 10 May 2021 20:59:55 +0800</pubDate><description><![CDATA[代码上有详细注释，不太清楚的伙伴可以留言哦

*{

/*将所有标签内外边距清零*/

  margin:0;

padding:0;

box-sizing:border-box;

/*css3样式，内边距及边框不会撑大有大小的盒子*/

}



em,i{

/*em和i是斜体文字标签，也是行内元素，让他们文字不倾斜*/

font-style:normal;

}



li{

/*去除li项目符号...]]></description><category></category></item><item><title><![CDATA[块级元素、行内元素、行内块元素的区别，以及嵌套规则]]></title><link>https://blog.youkuaiyun.com/cb294/article/details/116405067</link><guid>https://blog.youkuaiyun.com/cb294/article/details/116405067</guid><author>cb294</author><pubDate>Tue, 04 May 2021 21:09:16 +0800</pubDate><description><![CDATA[块级元素、行内元素、行内块元素的区别，以及嵌套规则

块级元素（如：h1-h6，p，div，ul，ol，dl，form，table）


	独占一行，在父盒子中从上到下的顺序排列
	
	
	可以设置宽和高，默认宽度是容器的100%，所以无需设置宽便可默认与父盒子一样的宽度
	
	
	可包含块级元素，行内元素和行内块元素（但有例外，p，h1-h6，dt不能包含块级元素）
	
行内元素（如：strong/b，em/i，del/s，ins/u，span，a）


	可在一行放多个行内元素，当一行放不下行内元素时，]]></description><category></category></item></channel></rss>