-
clearfix更优:不污染HTML、真正解决父容器塌陷、可复用且兼容现代布局;clear:both需额外标签、仅局部生效、依赖位置巧合。
-
JavaScript中没有原生SocketAPI,实际使用的是WebSocket;它基于TCP、双向实时通信,与HTTP的请求响应模式有本质区别,需用ws://或wss://协议创建连接。
-
localStorage和sessionStorage只支持字符串,存对象需JSON.stringify()序列化、JSON.parse()解析;IndexedDB是事务型键值数据库,需open、onupgradeneeded建库、事务内操作;容量限制需estimate()检测并降级处理;清理应按前缀而非全局clear()。
-
absolute定位易崩因脱离文档流,依赖父级非static定位及稳定尺寸;应避免用于弹窗箭头、表单图标、页脚固定、卡片标签等场景,优先用伪元素、flex或grid实现。
-
直接用color即可控制图标字体颜色,因其本质是特殊字符;需确保字体加载、类名正确及CSS优先级合理,推荐使用currentColor实现颜色同步,状态样式应结合伪类或属性选择器控制。
-
单元测试是验证程序最小可测试单元(如函数)正确性的过程,核心目标是确保独立功能按预期工作,便于早期发现bug、支持重构和提升协作效率。
-
表单提示信息定位跑偏的根本原因是absolute元素未找到正确的已定位祖先元素;应将提示元素与其输入框共同包裹在position:relative的容器中,并注意父容器塌陷、transform干扰及边框计算等细节。
-
JavaScript通过GeolocationAPI获取用户位置,需使用navigator.geolocation的getCurrentPosition或watchPosition方法;首先检查浏览器支持,再处理权限请求与错误类型(如拒绝、超时等);成功获取经纬度后可结合高德、百度等地图SDK展示位置;注意必须启用HTTPS、优化精度与性能,并提供IP定位等降级方案以提升体验。
-
CSS颜色表示方式有五种:1.颜色关键字如red、blue;2.十六进制值#RRGGBB或#RGB,支持#RRGGBBAA透明度;3.rgb()函数用0-255或百分比定义,rgba()支持透明;4.hsl()基于色调饱和度亮度,hsla()支持透明;5.新语法支持rgb/hsl直接加alpha,如rgb(25500/50%)。
-
requestAnimationFrame是实现平滑文字动画的首选,需逐字符包裹span、分离计算与渲染、合理使用transform和will-change,并配合matchMedia和document.hidden做响应式中断控制。
-
JavaScript迭代协议通过Symbol.iterator让对象可迭代,实现该方法并返回带next()的迭代器对象,即可用for...of或展开运算符遍历;生成器函数(function*)配合yield能更简洁地创建迭代器,自动管理状态与next()逻辑,提升代码可读性与灵活性。
-
使用Flex和Grid布局结合hover实现多级下拉导航栏,通过语义化HTML构建结构,CSS中利用flex实现主菜单横向布局,grid控制子菜单对齐,position定位配合hover触发显示,确保层级关系清晰且视觉一致,适合无JavaScript的初级项目实践。
-
WebShareAPI可调用设备原生分享功能,支持文本、链接和文件分享。首先检测navigator.share是否存在,确保在用户点击等交互中调用,避免被浏览器阻止。分享内容通过title、text、url传递,部分浏览器还支持files参数分享本地文件,但需注意兼容性,建议降级处理不支持场景。
-
DOMJavaScript动态修改网页的核心是先获取元素再修改其内容、样式、结构或行为;常用方法包括getElementById、querySelector、querySelectorAll、parentElement/children;修改用textContent、innerHTML、classList等。
-
Math对象提供静态数学方法:Math.round四舍五入、Math.floor向下取整、Math.ceil向上取整、Math.trunc截断小数、Math.pow或**求幂、Math.sqrt开方、Math.abs取绝对值、Math.max/min找极值;注意类型转换、边界行为及浮点精度问题。