-
const保证绑定不可变而非值不可变:原始值因自身不可变故无法修改,引用值(对象、数组)的属性或元素可修改,但变量不能重新赋值;需Object.freeze等显式操作才能禁止内部修改。
-
Promise有pending、fulfilled、rejected三种状态,且状态单向不可逆:pending为初始等待态,由resolve/reject触发转为fulfilled或rejected;fulfilled表示成功并传递值,rejected表示失败并携带reason。
-
opacity属性用于控制元素整体透明度,取值0到1,影响元素及其子元素的视觉呈现。正确使用可提升界面美观与体验,但需注意其会降低所有内容(包括文字、图片)的可见性。若仅需背景透明,应使用rgba或hsla颜色值,以保持文字清晰。结合背景图时,适当调整opacity可实现自然融合,常用于遮罩层或登录框,建议配合position和z-index控制层级。在交互设计中,opacity配合transition可实现淡入淡出动画,适用于按钮悬停、提示框显示等场景,但应避免透明度过低影响可读性。关键在于区分整体透明
-
用SassMixin定义关键帧动画需封装@keyframes命名与行为,通过@content注入动态帧(支持from/to或多段百分比),配合参数控制时长、缓动等,兼顾语义性、复用性与可维护性。
-
watchPosition实时追踪位置需调用navigator.geolocation.watchPosition()启动监听,传入成功/失败回调及配置项(如enableHighAccuracy、timeout、maximumAge),返回watchId用于clearWatch清理;需处理精度过滤、HTTPS环境、权限与平台兼容性问题。
-
Base64图片在CSS中需用url("data:image/...;base64,...")格式,引号和MIME类型缺一不可;字符串禁换行;大图(>10KB)内联损害性能;注意CSP、Safari兼容性及构建策略。
-
JavaScript前端路由分Hash和History两种实现:Hash利用location.hash和hashchange事件,兼容性好但SEO差;History用pushState/replaceState和popstate事件,URL干净但需服务端配合返回同一HTML。
-
formenctype属性用于在特定提交按钮上覆盖父级表单的编码类型。其核心作用是允许不同提交动作使用不同的编码方式,如application/x-www-form-urlencoded(默认,适合文本)、multipart/form-data(用于文件上传)和text/plain(调试用)。使用时需注意仅适用于submit或image类型的input,且需服务器端配合解析。合理使用可提升表单灵活性,避免冗余代码。
-
虚拟DOM是一种更新策略优化手段,通过内存中轻量级JS对象树比对差异后批量最小化操作真实DOM,避免高频零散DOM操作引发的重排重绘卡顿。
-
使用JSONSchema结合JavaScript可高效验证数据。首先通过ajv库定义schema并编译验证函数,对用户输入、API请求等进行结构化校验,确保类型、格式、必填项等符合要求,提升安全性与一致性。
-
FetchAPI默认不校验HTTP状态码,404/500等仍会resolve,需手动检查response.ok或status;无默认超时、不自动解析JSON、不带凭据,错误处理分网络失败、HTTP异常、解析失败三层。
-
font-size不支持直接transition动画,需用rem+CSS自定义属性或transform:scale()实现可控过渡;JavaScript动态修改时须用getComputedStyle强制触发。
-
用display:flex实现导航水平居中且等宽,需父容器设justify-content:center、子项设flex:1并显式声明min-width:0防Safari错位,配合white-space:nowrap避免换行。
-
CSScolor属性仅控制可继承的文本颜色,无法统一全局色调;真正实现需通过:root定义CSS变量(如--color-text)并显式引用,同时兼顾background-color、border-color等多属性协同。
-
HTML中给链接加UTM参数直接在标签href属性中拼接,起始用?,后续用&连接,参数名如utm_source等须小写且编码值,常见错误是&符号未转义或目标站未正确配置GA统计。