-
Map比普通对象快在支持任意类型键且哈希表实现O(1)查找,而对象仅支持字符串/Symbol键,非字符串键易因toString()冲突;正确序列化多参数需用JSON.stringify或模板字符串;防缓存爆炸应加LRU限制与参数稳定性评估。
-
可通过JavaScript实现HTML页面中数值的实时相加并显示:一、oninput事件监听输入框动态计算;二、onclick按钮触发计算;三、formsubmit事件捕获并阻止刷新;四、封装addNumbers函数支持多值相加;五、cleanNumber函数清洗带单位或逗号的字符串数值。
-
WeakMap与Map的核心区别在于键类型和引用强度:WeakMap键只能是对象且为弱引用,支持自动GC清理;Map键可为任意类型且为强引用。WeakMap不可遍历、无size属性,仅提供set/get/has/delete方法,适用于私有状态存储等需避免内存泄漏的场景。
-
HTML和JavaScript无法访问SD卡,因浏览器沙箱禁止直接读写物理存储;可行方案仅限Electron/Tauri、树莓派HTTP服务或用户手动导入导出。
-
关闭Preflight需在tailwind.config.js中设置corePlugins.preflight:false,使Tailwind跳过生成@tailwindbase的CSS;prefix:'tw-'后所有utilityclass自动加前缀,不影响自定义类名;important:true并非万能解药,会引发调试困难与冲突;CSS加载顺序不可靠,推荐prefix+preflight:false+twMerge组合方案。
-
iframe跨域嵌入需对方服务端配合,否则浏览器静默拦截;必须校验origin并用postMessage通信,sandbox和allow属性须精确配置,fetch+innerHTML仅得静态快照。
-
骨架屏纯CSS实现的核心限制是无法动态获取DOM尺寸,须手动预设宽高、圆角等;呼吸感动画靠background-size与position配合渐变;响应式需同步调整aspect-ratio、padding等;IE11兼容需用伪元素遮罩替代clip-path。
-
正确做法是用radial-gradient(circleat50%50%,transparent0%,#0000%,#0002px,transparent2px)配合background-size:20px20px实现等距居中点阵,色标需同位置硬切防模糊,CSS变量和响应式单位提升复用性。
-
HTML5视频画面撕裂主因是GPU合成层未对齐刷新率,需通过CSS强制图层分离(如transform:translateZ(0))、避免剪裁与滤镜,并在html5play中用awaitvideo.play()替代同步调用。
-
color-contrast()函数报错因浏览器原生不支持,仅SafariTP部分实现;替代方案为手动计算、JS库或PostCSS插件;WCAG对比度需按sRGB相对亮度公式计算,半透明色须先合成背景。
-
ES6的class是构造函数和原型机制的语法糖,未引入新OOP模型;其本质是构造函数+prototype方法挂载,静态方法属构造函数自身,继承通过__proto__链接原型与构造函数,getter/setter和私有字段仍基于原型或闭包实现。
-
Proxy是JavaScript用于拦截并自定义对象基本操作的代理构造函数,通过handler提供get、set、has、deleteProperty等trap拦截读写、枚举、构造等行为,支持校验、日志、响应式等场景。
-
Reflect提供标准化对象操作,Proxy结合Reflect可实现属性拦截与元编程,装饰器(实验性)通过函数修改类或方法行为,配合reflect-metadata库支持运行时读取元数据,三者共同增强JavaScript的反射与装饰能力。
-
箭头函数是ES6引入的词法绑定this的简洁函数,无自己的this/arguments/super/new.target,不可作构造函数,不支持call/apply/bind修改this,适合回调场景。
-
border-color本身不支持渐变,所谓“渐变填满”需用伪元素+背景动画模拟:通过::before设置线性渐变背景,配合background-size从0%→100%实现填满动效。