-
Array.prototype.sort()默认按字符串字典序排序,导致数值排序错误;需传入比较函数如(a,b)=>a-b实现数字排序;它原地修改数组,稳定性和可控性不足时需手写排序。
-
::placeholder不生效主因是样式被全局重置覆盖,需用input::placeholder等具体选择器并检查开发者工具中的删除线;IE11需额外加::-ms-input-placeholder;优先用rgba()确保可访问性对比度;iOSSafari会强制缩小placeholder字体,应通过color和letter-spacing优化而非font-size。
-
使用grid-auto-rows实现响应式行高需结合minmax()、fr单位和媒体查询。1.minmax(80px,auto)设置最小行高并允许内容撑开;2.全屏布局用grid-auto-rows:1fr均分视口高度;3.媒体查询在不同断点调整列数与行高,如大屏3列60px、小屏单列40px;4.内容自适应场景用minmax(120px,max-content)平衡可读性与扩展性,配合flex布局优化卡片内容排列。
-
纯CSS下拉菜单hover失效主因是DOM间隙导致状态中断及触屏不支持;标签页用:checked+radio实现需严格结构;:focus-within需容器可聚焦且有兼容性问题;纯CSS方案存在无障碍缺失、移动端失效等固有局限。
-
JavaScript函数参数默认值在调用时实参为undefined(含不传)才启用,求值发生在调用时、函数体执行前、自身词法作用域内;null、0等falsy值不触发;解构默认值同理,且支持嵌套与作用域隔离。
-
正确写法是用Array.from(text).length统计Unicode字符数,再按正则/\u4e00-\u9fa5\u3400-\u4dbf\uf900-\ufaff/和/[a-zA-Z0-9\u0020-\u007E]/分别匹配中文、英文字符,配合防抖与composition事件处理输入法中间态。
-
可通过四种方法在百度浏览器中打开本地HTML文件:一、菜单栏“打开文件”;二、系统默认关联设置;三、拖拽至浏览器窗口;四、命令行快捷方式启动。
-
绝对定位缩略图前必须设父容器为position:relative,否则会相对于最近定位祖先偏移导致错位;top/left需手动计算,CSS变量可辅助但兼容性受限;z-index仅对定位元素生效;响应式下推荐Grid/Flexbox替代。
-
位运算通过操作二进制提升效率,如用n&1判断奇偶、n&(n-1)判断2的幂、左移右移实现乘除2的幂,异或交换变量,结合补码处理负数,适用于状态压缩、快速取模等场景。
-
父容器包含浮动元素时会因脱离文档流导致高度塌陷,解决方法有三种:1.使用clearfix类通过::after伪元素clear:both清除浮动;2.设置overflow:hidden或auto触发BFC实现包裹;3.采用display:flow-root创建无副作用BFC,现代浏览器推荐此法。
-
Grid用repeat(3,1fr)替代width:33.33%更稳,避免百分比错位;用gap代替margin防破坏均分;响应式用auto-fit+minmax自动适配列数;align-items:end轻松底部对齐;现代浏览器全支持,IE11需降级。
-
box-shadow不会撑开容器因其仅属绘制层视觉效果,不参与盒模型计算,不影响宽高与布局流;多层阴影用逗号分隔,后写者在上;高DPR下模糊变粗是抗锯齿所致;drop-shadow基于Alpha通道,适配形状而box-shadow基于矩形盒模型。
-
直接在父元素加transition对子元素无效,因为CSS过渡只作用于自身显式声明变化的属性,不继承或代理到子元素;子元素需单独声明transition才能生效。
-
JavaScript操作CSS样式和动画的核心是动态修改样式属性并利用浏览器渲染机制;可通过直接设置style属性、切换CSS类、CSStransition或requestAnimationFrame实现不同场景的动画效果。
-
TypeScript是JavaScript的超集,编译时擦除类型仅留JS,故tsc输出可运行;any绕过检查,unknown需守卫;interface支持声明合并、implements,type支持联合/元组;严格配置与CI校验是类型系统生效前提。