前端技术文章
-
执行上下文是JS代码执行时的环境,包含变量、函数和this指向。它分为全局和函数执行上下文,前者在脚本加载时创建,后者在函数调用时创建并入栈,形成执行栈。每个上下文有创建和执行两阶段:创建阶段确定this、提升变量、建立作用域链;执行阶段赋值变量并执行代码。全局上下文this指向window或global,函数上下文this取决于调用方式。通过作用域链,内层函数可访问外层变量,支持闭包机制。理解执行上下文有助于掌握作用域、闭包、this指向及调试优化。390 收藏 -
padding-top在vertical-rl下朝行首方向(右侧)生效,因其语义绑定writing-mode定义的块流方向;逻辑属性padding-block-start始终对应block-start边,兼容所有书写模式。223 收藏 -
塔防游戏需三大核心:路径需用节点序列与插值实现平滑移动;逻辑与渲染须分离并用固定步长驱动;攻击判定宜用格子法优化性能;交互需处理坐标转换、区域校验与DPI适配。377 收藏 -
最可靠的选择器测试方式是在Elements面板用Ctrl+F或Cmd+F直接输入CSS选择器,支持完整语法并高亮匹配元素,显示“XofYmatches”或“Noresults”。362 收藏 -
行内元素设置上下padding无效,是因为行内元素的垂直方向受父元素的line-height影响,padding不会撑开高度。修改为inline-block或block后,padding才能正常生效。
行内元素的padding-top/padding-bottom不撑开空间是CSS规范行为,因其不生成独立盒模型;改用display:inline-block或inline-flex可解决,但需注意vertical-align、line-height和间隙问题。399 收藏 -
通过封装可复用组件和使用@apply提取公共类,将重复的Tailwind类名集中管理,提升代码可维护性与开发效率,实现高效组件复用。352 收藏 -
strong表示内容重要性,具有语义强调功能,影响可访问性、SEO和辅助技术识别;b仅实现纯视觉加粗,无任何语义含义。287 收藏 -
关键在于避免动画元素频繁触发合成层更新,GPU只负责合成而非重绘;仅transform、opacity、部分filter变更可走合成线程;需用will-change+translateZ预创建层,杜绝强制同步布局,并管控图层生命周期。440 收藏 -
要让数学计算库在V8下跑出极致单线程性能,核心是促使V8激进内联:函数须纯逻辑、AST极简、接口稳定;避免闭包污染、临时对象及类型混用;需预热并用--trace-inlining等工具验证内联效果。193 收藏 -
display:inline-block是分页按钮的常见选择,因其支持并排排列、宽高设置且不脱离文档流,兼容IE8+;但需处理换行间隙,常用font-size:0或无空格HTML解决。474 收藏 -
GlobalObjectPollution不属于MicrosoftDefenderforOffice365检测范围,其专注邮件与协作平台威胁防御,不监控JS运行时全局对象篡改;该问题属前端安全范畴,需通过CI/CD扫描、运行时冻结原型、第三方代码沙箱隔离等应用层措施防护。182 收藏 -
LiveExpression是Console中实时追踪变量或表达式的功能,每250毫秒自动重算,需确保变量在当前执行上下文可访问,支持全局、函数内(断点暂停时)及挂载到window的模块变量,不可监控未初始化或已回收变量。282 收藏 -
示例元素
data-*属性转dataset键名时连字符变驼峰(如user-id→userId),值恒为字符串,须手动类型转换;修改需用setAttribute而非直接赋dataset;事件委托中应通过closest定位带data属性的祖先元素。
101
收藏
需用MessageChannel实现可中断的优先级调度,因requestIdleCallback不可抢占且无取消能力;MessageChannel通过微任务通信支持高优任务立即插入和切片间中断检查。
236
收藏
float与inline-block不能混用实现混合浮动布局,因float使元素脱离文档流并强制display为block,导致inline-block的vertical-align等特性失效,引发换行、错位、塌陷等问题。
458
收藏