-
JavaScript变量是词法环境中的绑定名称;var具函数作用域、提升且初始化为undefined,let/const具块级作用域、提升但受TDZ限制,访问未初始化会抛ReferenceError,应默认用const、次选let、弃用var。
-
浮动布局问题表现为父容器塌陷、文字环绕异常等,根源是浮动脱离文档流;应通过触发BFC(如overflow:hidden或display:flow-root)包裹子项,用clearfix伪元素清除浮动,并优先采用flexbox或Grid替代浮动。
-
Vue.js的watch不支持原生撤销,但可通过oldVal/newVal实现轻量撤销:启用deep:true,缓存oldVal到栈,undo时pop赋值;注意深拷贝、字段隔离、防死循环等边界。
-
用padding-left做嵌套缩进而非margin-left,因其保持父容器事件热区完整、确保hover/click/touch全区域响应;配合CSS变量、clamp()与border-box可控层级、对齐及响应式。
-
父容器设为grid时,子元素若设position:absolute会脱离Grid流而相对于最近已定位祖先定位;应给Grid父容器加position:relative以提供定位上下文,优先使用Grid自身对齐能力替代绝对定位。
-
本文详解Node.js后端JWTToken验证失败的常见原因,重点解决req.headers.authorization读取异常、BearerToken格式错误及Cannotreadpropertiesofundefined类型错误,提供可直接运行的修复代码与最佳实践。
-
用dataset存状态比class切换更可靠,可避免样式冲突、实现数据与样式解耦,并配合属性选择器和Array.filter高效筛选;需防抖、requestAnimationFrame刷新、IE兼容处理及筛选后重置滚动位置。
-
使用HTML属性和JavaScript可有效限制表单输入。首先通过maxlength、min/max、pattern、required和type等属性设置基础规则,如限制长度、数值范围和格式;再结合CSS的:valid/:invalid伪类实现视觉反馈;对于更复杂需求,利用JavaScript监听输入事件,实时过滤非法字符或自动格式化内容。最终建议前端限制与服务器端验证结合,确保数据安全与准确性。
-
手动实现new操作符需四步:1.用Object.create(constructor.prototype)创建继承原型的新对象;2.用apply将构造函数this绑定新对象并执行;3.若构造函数返回非null对象则返回它,否则返回新对象;4.完整实现为myNew函数。
-
用display:grid真正居中需设place-items:center(等价于justify-items和align-items同时居中),父容器须有明确高度(如min-height:100vh),推荐弹性列布局grid-template-columns:1frminmax(0,600px)1fr,并用place-self控制子项内部对齐。
-
text-stroke无效果因非标准属性,须用-webkit-text-stroke(Chrome/Safari/新版Edge支持,Firefox完全不支持);需配合-webkit-text-fill-color:transparent显形,宽度只认px等绝对单位,多色依赖CSS变量或JS动态设置;text-shadow可模拟多色描边但性能开销大。
-
Bootstrap5tab切换需用opacity+visibility替代display控制显隐,关键CSS为:.tab-content>.tab-pane{opacity:0;visibility:hidden;transition:opacity.3sease,visibility.3sease;}.tab-content>.tab-pane.show{opacity:1;visibility:visible;}
-
Autoprefixer是基于caniuse数据库的CSS后处理器,仅在目标浏览器实际需要时添加前缀;它不能替代手写前缀的全部场景,如partialsupport属性(appearance)或无前缀新属性(inset)不会处理。
-
最安全的非前端改样式方法是用DevTools实时调试:F12→Elements→选元素→Styles面板双击修改,不碰源码、不触发编译、不污染Git;优先调color、padding等即时生效属性,慎用!important仅作临时验证。
-
原生checkbox不能直接用CSS改样式,因其渲染由浏览器硬编码;需保留原生input并用伪元素覆盖视觉层,同时确保可访问性、焦点管理与状态同步。