-
JavaScript构建工具的核心作用是将源代码转换为浏览器可运行的静态资源并优化性能;Webpack基于依赖图编译打包,适合大型定制化项目;Vite利用原生ESM按需编译,开发体验更优,新项目优先选Vite。
-
使用Canvas可在浏览器高效压缩图片,先创建canvas并用drawImage按比例缩放图像以减少像素量,再通过toBlob设置quality参数(如0.75)将JPEG体积降至30%~50%且清晰度损失小;对超大图可分块绘制避免内存溢出,并结合WebWorker异步处理防止界面卡顿,兼顾压缩效率与用户体验。
-
box-shadow发虚或不明显主因是模糊半径和偏移量不足、元素未脱离文档流或背景对比弱;需合理设置y-offset、blur-radius、透明度及背景色,并配合border-radius与多层阴影提升立体感。
-
SemanticUI通过语义化命名和模块化组件实现界面整洁。其核心在于采用如uibutton、uisegment等直观类名提升代码可读性,减少命名冲突;组件化设计确保按钮、表单等元素风格统一,增强一致性;网格系统与间距工具优化布局平衡,响应式支持保障多端体验;通过theme.config等机制定制主题,在保持品牌个性的同时维持整体简洁;面对复杂需求,推荐组合基础组件、控制嵌套层级、模块化拆分页面,以维护结构清晰与长期可维护性。
-
模板字面量是ES2015+标准中用反引号`定义的字符串类型,支持嵌入表达式${...}、多行书写、无需转义换行,提升可读性与维护性;还支持带标签的预处理功能。
-
HTML5中用CSS的border-radius属性实现圆角:一、统一圆角如border-radius:10px;二、四角不同如8px16px24px4px;三、单角如border-top-left-radius:12px;四、百分比如50%呈椭圆;五、图片需配合overflow:hidden裁剪。
-
首屏关键样式用内联,其余统一外链。通过构建工具自动提取CriticalCSS并注入HTML,异步加载非关键样式,结合缓存与模块化提升性能与维护性。
-
惰性求值通过延迟计算提升性能,核心是仅在需要时执行。JavaScript可用函数封装、生成器或自定义链式结构实现,如Lodash的chain方法,避免中间结果开销,适用于大数据与复杂运算场景。
-
原生分享首选WebShareAPI(navigator.share),需HTTPS和用户手势触发,支持title/text/url;微信必须用JS-SDK配合后端签名;Twitter/Facebook/LinkedIn可用URLScheme;og标签仅影响链接预览,不控制分享行为。
-
float不推荐用于图文环绕,因其易导致父容器塌陷、需清除浮动、响应式难控且与现代布局混用易出错;W3C已将其列为遗留机制;现代首选是配合float使用的shape-outside属性,可精确控制文字绕行轮廓。
-
JavaScript需要BigInt来解决Number类型在处理超过2^53-1的大整数时的精度丢失问题,它允许安全操作任意大的整数,适用于大ID、加密密钥等场景。BigInt与Number类型不能直接混合运算,必须显式转换,且BigInt不支持Math方法和JSON序列化,需通过toString()转为字符串处理。实际使用中应通过n后缀创建BigInt,与API交互时前后端需以字符串形式传递大整数,并在必要时统一封装转换逻辑,避免精度错误。
-
JavaScript状态管理核心是集中存储、统一更新、自动响应变化;小型项目可用Proxy+订阅的原生方案,中大型项目推荐ReduxToolkit、Zustand、Jotai等React生态库,或Pinia、Valtio、Signals等跨框架方案,选型需兼顾团队熟悉度与项目需求。
-
HTML5中绘制半圆有四种方法:一、用border-radius+overflow裁切上半圆;二、用左右圆角+overflow裁切左半圆;三、用clip-path的circle()函数定义左/右半圆;四、用SVG的arc命令绘制精准半圆。
-
清除浮动的两种常用方法是overflow:hidden和clearfix。1.overflow:hidden通过触发BFC包含浮动元素,优点是简洁兼容,但会裁剪溢出内容;适用于无溢出的简单布局。2.clearfix利用伪元素清除浮动,不改变溢出行为,适合复杂结构如导航栏。选择依据:简单场景用overflow:hidden,需保留溢出时用clearfix。现代布局推荐Flexbox或Grid,但旧项目仍需掌握这两种技巧。
-
JavaScript函数式编程强调纯函数与不可变数据,通过函数组合与高阶函数提升代码可预测性与可测试性。