-
React是JavaScript库而非框架,核心价值是以组件为单位组织UI和逻辑;函数组件+Hooks为官方唯一推荐写法,首字母须大写;组件化重在责任边界而非视觉切割;通信仅用props、Context、自定义Hook三种方式;JSX是JavaScript表达式树。
-
本文介绍一种安全、可控的方式,利用Function构造函数动态创建具有指定变量作用域的执行环境,避免字符串拼接注入和污染全局作用域,实现类似eval(script).call(context)的效果。
-
HTML5文档必须包含<!DOCTYPEhtml>、<html>、<head>和<body>四个基础标签;前者声明文档类型且须为首行,后三者构成根结构,缺一将导致渲染异常或怪异模式。
-
结论:Cookie需用js-cookie等库操作,localStorage/sessionStorage存对象必须JSON.stringify()和JSON.parse()。因document.cookie是分号分隔字符串,原生解析易错;二者仅支持字符串,存对象会变"[objectObject]";localStorage跨标签共享且持久,sessionStorage仅单标签有效且关闭即清空。
-
HTML表单本身不负责数据保留或清理,数据管理由服务器端或浏览器本地存储实现;短期数据可通过localStorage或sessionStorage在客户端保存,长期数据需存储于服务器数据库,并通过创建时间、更新时间等字段配合定时任务、TTL索引或归档策略实现自动清理,同时需注意性能、数据完整性、备份与审计,确保策略明确并经充分测试后执行,最终形成安全、合规、高效的数据生命周期管理机制。
-
真正晃动需非对称关键帧(如-5deg→10deg→-5deg→5deg→0deg),配合translateX增强动感,用animation而非transition实现多段抖动,时长0.5s、ease-in-out更自然,须适配prefers-reduced-motion并慎用循环。
-
FileReader读取本地文件必须通过用户触发的<inputtype="file">获取File对象,不能直接用路径;readAsText(file,"UTF-8")最常用,readAsDataURL适合图片预览,readAsArrayBuffer适合二进制处理,readAsBinaryString已废弃;需先绑定onload再调用read,且大文件应分片处理。
-
可用::before伪元素替换默认圆点,先用list-style:none清除原生符号,再在li上设position:relative,通过::before绝对定位插入content字符并调整样式,配合margin-right或padding-left留白,以及padding-left和top:0.25em适配多行对齐。
-
overflow属性用于控制内容溢出容器的行为,其常用取值包括visible、hidden、scroll和auto,可分别处理溢出显示、裁剪或滚动需求;通过overflow-x和overflow-y可独立控制水平与垂直方向的溢出行为,适用于文本区域、弹窗、轮播图等场景;实际应用中应根据内容特性选择合适值,如用hidden防止布局错乱,auto实现按需滚动,避免嵌套滚动影响性能,从而提升页面稳定性和用户体验。
-
元素定位异常主因是position使用不当,需检查父容器是否创建定位上下文、偏移属性生效条件、文档流状态及z-index层叠关系,并慎用fixed定位。
-
JavaScript中this的指向取决于调用方式,分四类:默认绑定(独立调用,非严格模式指向window,严格模式为undefined)、隐式绑定(obj.method(),this指向直接调用对象)、显式绑定(call/apply/bind指定)、new绑定(优先级最高,指向新实例)。
-
定义旋转动画时必须显式声明起始角度,如@keyframesspin{0%{transform:rotate(0deg)translateZ(0);}100%{transform:rotate(360deg)translateZ(0);}},并避免transition与animation在transform上混用,启用GPU加速提升流畅度。
-
使用HTML的select标签可创建下拉菜单,通过option添加选项,selected设置默认项,disabled禁用选项,optgroup实现分组,multiple支持多选。
-
浮动图片导致文本错位的解决方法是:让父容器感知浮动高度或阻止文本环绕;推荐用display:flow-root触发BFC,语义清晰无副作用,兼容现代浏览器;需兼容IE时才用overflow:hidden。
-
HTML5不提供验证码加密校验功能,仅负责表单结构和基础交互;加密校验需前后端协作:前端用HTML5+JS实现输入控制与防呆,后端完成生成、存储、比对及安全校验。