-
preventDefault()有时无效,主因是调用时机错误(如异步回调中)、event参数缺失、事件已冒泡终止、浏览器限制特定默认行为;它仅阻止默认行为,不阻止冒泡,returnfalse在原生JS中无事件控制作用。
-
盒子模型由content、padding、border和margin组成:content显示内容,由width/height决定;padding是内容与边框间的内边距,背景色可延伸至此;border是元素的边框,影响外观和尺寸;margin是边框外的空白,控制元素间距离且支持负值与合并。默认box-sizing为content-box,推荐设为border-box以简化尺寸计算。
-
该用transition而非@keyframes动画时:只需“有来有回”的状态切换,如hover变色、class切换展开菜单;它依赖触发条件,仅定义起止态,自动反向过渡且性能更优。
-
本文介绍两种可靠方式:一是利用HTTPRange请求头精准获取指定字节数(推荐),二是结合AbortController安全中断流式读取,避免重复调用失败问题。
-
:nth-child伪类通过an+b公式按位置选中子元素,n≥0且从1开始计数,支持odd、even关键词与数学表达式,常用于隔行变色或规律布局,如2n选偶数项、3n+1每三项首项,需注意不区分元素类型且负值无效。
-
使用Express的res.json()或原生res.end(JSON.stringify())返回JSON数据,需设置Content-Type为application/json;推荐Express方式,自动序列化并支持状态码,如res.status(200).json({code:200,message:'成功',data:{}});原生需手动设置头和字符串化,处理中文时应加charset=utf-8避免乱码。
-
答案:构建JavaScriptRESTfulAPI需遵循语义化路由、统一响应格式、合理使用HTTP状态码、中间件处理校验与日志、采用分层架构。具体包括:使用名词性路径如/users,结合HTTP方法表达操作;返回结构化JSON数据与错误信息;正确应用200、201、400等状态码;通过中间件实现JWT验证、参数校验、CORS和日志记录;采用路由-控制器-服务-数据访问的分层模式,提升可维护性与扩展性。
-
浅拷贝只复制第一层属性,嵌套引用仍共享内存;深拷贝递归复制所有层级,完全独立。浅拷贝方法有展开运算符、Object.assign()、slice()/concat(),但不支持嵌套及特殊类型;深拷贝需处理递归、特殊类型和循环引用,推荐使用_.cloneDeep()或structuredClone()。
-
CSS的transition属性通过设置property、duration、timing-function和delay实现元素状态变化的平滑动画,如:hover时颜色渐变或尺寸缩放;可单独指定属性或使用all对多个属性应用过渡,并配合ease、linear等速度曲线控制动画节奏,提升交互体验。
-
Bootstrap的container类会自动添加左右内边距(padding),导致内容两侧出现白边;只需移除该类或改用container-fluid即可消除默认间距。
-
直接给HTML的<area>标签添加CSS样式无效,因为<area>本身不参与视觉渲染;要实现热点高亮效果,需通过以下步骤:1.将图片放在一个position:relative的容器内作为定位参照;2.为每个<area>创建一个可样式化的替身元素(如div或span);3.根据coords属性计算并使用position:absolute精确设置替身的位置和大小;4.设置替身默认透明并关闭pointer-events以避免遮挡事件;5.使用JavaScript监听<
-
引入CSS到HTML主要有三种方式,最推荐的是外部样式表,其次是内联样式在特定场景下使用;2.外部样式表通过<link>标签引入独立的.css文件,实现结构与样式的分离,便于维护、复用和缓存,适用于大多数项目;3.内联样式通过在HTML元素的style属性中直接写CSS规则,优先级最高且即时生效,适合快速调试、JavaScript动态修改、邮件模板或特殊覆盖需求;4.内联样式的优点包括优先级高、便于JS操作和即时反馈,缺点是可维护性差、无复用性、代码冗余、破坏分离原则且无法被浏览器缓存;5.外
-
内联样式维护困难因其需全局搜索替换、无法复用、不支持预处理器、调试难定位;link优于@import因并行加载、支持媒体查询;CSSModules等通过哈希类名解决作用域冲突。
-
requestAnimationFrame更适合动画因其与屏幕刷新率同步、自动暂停省电、需配合时间戳防速度不均;CSStransition适合简单属性变化,而requestAnimationFrame适合复杂交互控制。
-
遮罩层必须用position:fixed或absolute;推荐fixed配100vw/100vh,避免滚动露底;z-index失效需检查祖先transform/will-change创建的层叠上下文;关闭弹窗应监听遮罩click并判断e.target===this;移动端需加touch-action:none提升触摸体验。