前端技术文章
-
JavaScript日期对象初始化需注意时区差异和字符串解析歧义,应优先使用数字参数或带时区的ISO格式;获取年月日等值须用getFullYear()等现代方法;格式化推荐toISOString()截取或padStart()补零;加减月份需警惕溢出,建议用专业库处理。350 收藏 -
动态路由参数丢失的根本原因是动态注册的路由在页面刷新后内存清空,导致无法还原params;常见于登录后调用addRoute添加/user/:id等路由却未持久化或重注册,且守卫中误用next(path)丢弃参数。134 收藏 -
CSS本身不支持JSON变量或export语法,:export是CSSModules构建时提取键值对为JS对象的特性,非运行时CSS变量;它不支持嵌套、数组、外部JSON导入,与CSS自定义属性无关。262 收藏 -
:required伪类仅匹配原生支持required属性的表单元素(input/select/textarea)且HTML中真实存在required属性;JS设置property、框架未透传、ShadowDOM隔离、Safari旧版bug或选择器错误均会导致失效。420 收藏 -
使用CSS变量与JavaScript实现动态换肤,通过定义:root变量和data-theme属性切换主题,结合localStorage保存用户偏好,可高效支持夜间模式与自定义主题色。180 收藏 -
HTML倒计时精度取决于JS逻辑、时间源与前后端协同,而非视觉刷新;须用Date.now()比对服务端时间戳,避免setInterval漂移、Safari解析错误及前端校验失效。338 收藏 -
strong表达语义重要性,影响SEO和屏幕阅读器;b仅控制视觉加粗,无语义。前者被读屏软件加重音、搜索引擎加权,后者完全静默;滥用strong会降权,纯样式需求时b更干净。327 收藏 -
理解this和原型的关键是观察调用位置与方式:调用位置决定this起点(如obj.fn()中this指向obj,f=obj.fn;f()则丢失绑定),调用方式分普通/方法/构造/显式四种;原型是委托查找链,实例通过__proto__沿prototype链向上查找属性。449 收藏 -
现代离线Web应用采用ServiceWorker结合CacheAPI实现资源缓存,通过Workbox简化开发并使用IndexedDB进行数据持久化,形成稳定可控的离线架构。217 收藏 -
使用position:absolute使弹窗脱离文档流并自由定位,配合top、left与transform实现居中;2.通过设置较高的z-index(如1000以上)确保弹窗层级最高;3.避免父级层叠上下文干扰,建议将弹窗挂载至body或使用Portal技术,确保正确显示在最上层。287 收藏 -
节流控制单位时间最多执行一次,防抖控制连续触发后只执行最后一次;节流基于时间戳或定时器限频,防抖每次触发重置定时器;需据交互场景选择,避免误用导致卡顿或逻辑丢失。467 收藏 -
ReportingAPI由浏览器根据HTTP响应头自动触发,需服务器配置Report-To头和CSP中的report-to指令,仅上报CSP违规、证书错误等内核级安全事件,不处理JS运行时错误。327 收藏 -
<metacharset="UTF-8">必须置于<head>最前面,因为浏览器流式解析HTML时,若此前遇到中文等非ASCII字符而未声明编码,会按默认编码(如GBK或ISO-8859-1)错误解码,导致乱码且无法回溯修正。456 收藏 -
圣杯布局现在不用float,因flex和grid原生支持多栏流式、等高、自适应,代码更简、调试更易;float实现需手动清浮动、负margin、padding预留等复杂操作,易错且维护难。435 收藏 -
offsetWidth包含内容宽度、左右内边距和左右边框宽度,不包含外边距,也不受transform缩放影响;它与clientWidth(不含边框)、scrollWidth(含溢出内容)有本质区别,适用于弹窗宽度匹配、裁剪判断等布局测量场景。284 收藏