-
HTML5通过语义化标签、音视频支持、Canvas绘图和WebStorage等新功能提升前端能力。1.语义标签如header、nav增强结构可读性,浏览器将其视为块元素并构建DOM节点,旧版IE需动态创建以兼容;2.audio与video标签原生支持媒体播放,浏览器解析src后调用内置解码器处理不同格式,JavaScript通过MediaAPI控制播放状态;3.Canvas提供位图画布,通过2D渲染上下文执行绘图命令,最终由GPU合成到页面,属立即模式,内容压平为像素;4.WebStorage提供loca
-
Map支持任意类型键,提供高效增删查操作,保持插入顺序,可直接获取大小且遍历方便,相比普通对象更适用于动态键值对场景。
-
清除浮动可解决父容器高度塌陷问题。常用方法包括:添加空元素并设置clear:both;使用::after伪元素结合display:table和clear:both(推荐);通过overflow、auto或display:flow-root触发BFC以包含浮动。其中display:flow-root和伪元素法更优,兼顾语义与兼容性,适用于现代开发。
-
闭包是函数能记住并访问其定义时词法作用域变量的机制,核心在于变量被持续持有;用于封装私有数据、解决循环异步绑定问题、实现函数工厂与柯里化、状态保持及性能优化。
-
答案是HTML表格数据验证需结合前端与后端:前端用HTML5属性和JavaScript实现即时反馈,提升用户体验;后端验证确保数据安全与完整性,防止恶意绕过。
-
不应混合使用Flex与Float,因Flex子项会忽略float属性,导致冗余代码和维护困难;应选择Flexbox或Grid作为现代布局方案,保持样式清晰可维护。
-
使用requestAnimationFrame替代setTimeout/setInterval,结合transform和opacity驱动动画,减少重排重绘,缓存DOM引用,合理利用WebWorkers处理复杂计算,可显著提升JavaScript动画性能。
-
:disabled和:enabled是CSS伪类选择器,用于根据表单元素的启用状态设置样式。1.:enabled匹配可交互元素,如可输入的文本框;2.:disabled匹配添加disabled属性的元素,常用于按钮或输入框不可操作时。常见应用包括通过不同背景色区分状态,结合JavaScript动态控制元素可用性。例如输入框无内容时提交按钮禁用并变灰,提升表单可用性。
-
解法是用通用布局组件实现物理隔离:布局只管结构(header/sidebar/main插槽),业务只管内容;通过layoutConfig配置驱动动态区域;provide/inject解耦公共行为;CSS严格作用域隔离。
-
Flexbox布局通过弹性排列和空间分配优化移动端响应式设计。1.设置flex-direction:column实现垂直堆叠,适配竖屏浏览;2.启用flex-wrap:wrap防止内容溢出;3.使用align-items和justify-content提升对齐视觉效果;4.利用flex:1动态填充主内容区,结合flex-basis与min-width保障可点击区域;5.在媒体查询中调整断点布局,如小屏切换垂直导航、横屏双列展示;6.避免深层嵌套以降低重排开销,并兼容旧Android版本渲染问题,确保低端设
-
try-catch用于同步错误捕获,如JSON.parse异常;Promise通过.catch()或async/await中try-catch处理异步错误,未捕获的reject会触发unhandledrejection,需全局监听补救,但应优先在链式调用中显式处理。
-
可通过内联、内部、外部和动态加载四种方式在HTML中执行JavaScript。①内联脚本:在HTML标签中使用onclick等事件属性直接写JS代码,如alert('Hello');②内部脚本:在<script>标签内编写JS代码,通常置于<body>底部或<head>中,并注意DOM加载顺序;③外部脚本:将JS代码保存为.js文件,通过<scriptsrc="script.js"></script>引入,便于复用与维护;④动态加载:使用docu
-
哈希函数与数字签名是前端数据安全核心技术,用于保障数据完整性与身份认证。1.哈希函数如SHA-256通过生成唯一固定长度值校验数据是否被篡改,可用WebCryptoAPI实现;2.数字签名结合非对称加密与哈希,利用私钥签名、公钥验证,确保消息来源真实性和完整性,适用于JWT、API认证等场景;3.实际应用中应避免前端私钥暴露,优先使用原生API并配合HTTPS,敏感操作应置于服务端,密码需在后端加盐哈希存储。
-
order属性可调整Flex子元素视觉顺序而不改变DOM结构,其默认值为0,数值越小越靠前,仅作用于直接子元素,需注意可访问性与响应式配合使用。
-
使用grid-auto-rows实现响应式行高需结合minmax()、fr单位和媒体查询。1.minmax(80px,auto)设置最小行高并允许内容撑开;2.全屏布局用grid-auto-rows:1fr均分视口高度;3.媒体查询在不同断点调整列数与行高,如大屏3列60px、小屏单列40px;4.内容自适应场景用minmax(120px,max-content)平衡可读性与扩展性,配合flex布局优化卡片内容排列。