-
Proxy是用于拦截并自定义对象操作的构造器,通过target和handler创建代理,支持get、set、has等陷阱方法,比Object.defineProperty更强大灵活,适用于响应式、只读封装等场景。
-
2. nofollow作用:告诉搜索引擎不要追踪页面上">
最稳妥的“彻底隐身”组合是noindex,nofollow,但必须正确写在head内、小写无空格,且不被HTTP头或JS注入干扰;仅靠nofollow链接或robots.txt无法阻止收录。
-
闭包不能直接实现跨端URL适配,因其本质是封装状态与逻辑的函数,而URL是与环境无关的标准字符串;它仅用于封装平台判断、密钥管理、坐标转换等适配逻辑,而非生成URL本身。
-
Safari中background-clip:text无效是因为仅支持-webkit-background-clip:text,且需同时声明两者;必须显式设置background-image、文字元素设为inline/inline-block,并避免任何合成属性触发。
-
闭包构建单例的核心是用IIFE创建私有作用域,将instance变量锁在内部并仅通过getInstance接口受控访问,确保多次调用返回同一引用(===true),支持延迟初始化、环境兼容与手动生命周期管理。
-
DeclarativeShadowDOM(DSD)通过在HTML中直接声明<templateshadowrootmode="open">使搜索引擎可索引ShadowDOM内容,无需JS执行,要求服务端输出含内联样式的完整静态结构,并兼顾无JS降级与语义完整性。
-
必须用Temporal替代Date,跨时区逻辑须弃用newDate();ZonedDateTime.from()必须传IANA时区名(如America/Chicago)而非固定偏移;夏令时重叠/间隙需显式指定disambiguation;比较和计算应统一转Instant;显示本地时间优先用withTimeZone('local')而非toLocaleString()。
-
padStart和padEnd仅用于字符串首尾补全,无法实现手机号中间脱敏;真实脱敏需先slice提取前后段再拼接星号,如“138**1234”。
-
响应式断点应基于页面内容实际坍塌点而非设备型号,如导航换行、卡片错位等临界宽度;需在ChromeDevTools中拖动滑块观察布局变化,记下像素值后向上取整,优先使用min-width移动优先逻辑,并确保设置viewportmeta标签。
-
postcss-preset-env默认不转译:has()或color-mix(),因其处于Stage3而非默认Stage2;需显式设stage:3才启用,但color-mix()仍不降级,因无安全polyfill;真正决定转译行为的是browserslist配置,而非stage数字。
-
原生JavaScript返回真实DOM对象,可直接操作属性和方法,性能高但需处理兼容性;jQuery返回封装的jQuery对象,支持链式调用且兼容性好,但需转换才能使用原生方法。两者可通过.get(0)或$()相互转换,现代开发多用原生JS,jQuery主要用于老项目维护。
-
Element.matches()用于检查元素是否匹配CSS选择器,返回布尔值;IE8-不支持,需用querySelectorAll模拟,注意选择器合法性及转义。
-
strong表达语义重要性,影响SEO和屏幕阅读器;b仅控制视觉加粗,无语义。前者被读屏软件加重音、搜索引擎加权,后者完全静默;滥用strong会降权,纯样式需求时b更干净。
-
Canvas动画流畅的核心是精准控制绘制时机与工作量,需用requestAnimationFrame配合deltatime计算、对象复用、高DPI适配及避免隐式开销。
-
HTML不该设长缓存时间,因其作为页面入口,变更需立即生效;否则用户将加载错误资源、卡在旧逻辑中。应采用短缓存(如max-age=60)或协商缓存(no-cache),并分离动态内容与静态结构。