-
requestAnimationFrame更适合动画因其与屏幕刷新率同步、自动暂停省电、需配合时间戳防速度不均;CSStransition适合简单属性变化,而requestAnimationFrame适合复杂交互控制。
-
后代选择器通过空格选中所有嵌套的指定元素,如divp;子选择器用>仅选直接子元素,如ul>li;相邻兄弟选择器用+选紧接的同级元素,如h1+p;通用兄弟选择器用~选之后所有同级元素,如h2~p;伪类选择器用:定义特殊状态,如a:hover和li:nth-child(odd)。
-
JavaScript模板引擎核心是解析、编译、渲染三步,基础用with+newFunction,进阶用词法分析+AST,需沙箱隔离与安全语法设计。
-
linear-gradient需注意方向逻辑(如totop表示向上渐变)、角度单位(0deg=totop)、多色停靠点须显式标注百分比;radial-gradient需明确形状/大小/位置三要素顺序,用关键字控制扩散范围;二者坐标系统本质不同。
-
Promise链的输入由上一个then()回调的返回值决定:若返回普通值则立即传递,若返回Promise则等待其resolve;catch仅捕获前序未处理的rejection;Promise.all并行执行,finally仅执行清理且不改变数据流。
-
可通过配置SublimeText实现HTML预览:一、使用快捷键调用默认浏览器需确保文件已保存并关联.html扩展名;二、安装OpenInBrowser插件可自定义浏览器路径,如Chrome的exe位置,并通过Alt+Shift+O运行;三、创建BuildSystem,Windows使用"cmd""/c""start""$file"命令,macOS用"open""$file",Linux用"xdg-open""$file",保存为HTML-Run.sublime-b
-
async和defer仅在HTML5中有效,HTML4中被忽略;async下载完立即执行且不保序,defer则按序于DOM解析后执行,二者均只对带src的外部脚本生效。
-
FileReader读取文件必须异步,onload后才能访问result;需监听onerror处理错误;大文件优先用readAsArrayBuffer()+TextDecoder;files属性只读且不可伪造;多文件需multiple属性;accept仅提示,后端须校验;JSON/CSV需手动解析;Safari旧版对编码参数支持有限;应先校验MIME类型再解析。
-
要让PWA在无网络环境下可用,需结合ServiceWorker、CacheAPI和WebAppManifest。首先通过ServiceWorker拦截请求并管理缓存,在离线时返回已缓存资源;其次利用CacheAPI实现对HTML、CSS、图片等资源的分类与版本化缓存,支持动态存储和更新策略;再通过manifest.json配置应用名称、图标、启动URL等,实现类原生体验;最后遵循离线优先设计原则,优先展示缓存内容,提供离线提示,并在网络恢复后同步数据。1.ServiceWorker是核心,负责请求拦截与资
-
本文解析JavaScript类中同名字段(如method="sss")与方法(如method(){})在继承时的行为差异:前者作为实例自有属性被初始化,后者定义在原型上;当子类重写同名方法时,实例属性优先于原型方法,导致看似“覆盖失效”的现象。
-
normalize.css更适合作为现代项目的基底,它统一跨浏览器差异并保留有用默认样式;reset.css则彻底清零样式,适合强定制化项目;二者均需在框架CSS之前加载,并配合base.css和框架变量进行可控微调。
-
构建可复用组件需封装、独立与易集成,WebComponents提供原生支持。1.使用CustomElements定义自定义标签,通过customElements.define()注册继承HTMLElement的类,实现自定义元素;2.结合ShadowDOM隔离样式与结构,在构造函数中调用attachShadow()并设置shadowRoot.innerHTML,避免全局污染;3.支持属性与事件,通过observedAttributes监听属性变化,attributeChangedCallback触发更新,
-
::marker是CSS伪元素,用于设置列表项前的标记样式。通过color属性可直接修改符号颜色,如li::marker{color:red;}将项目符号变为红色。支持color、content、text-shadow及部分字体属性。现代浏览器兼容良好,IE不支持。兼容性要求高时可用list-style:none结合::before自定义。
-
canvas标签本身不绘图,仅提供空白画布,绘图需通过JavaScript调用getContext('2d')获取2D渲染上下文;width/height须用HTML属性设置,CSS仅缩放;drawImage需确保图像加载完成;clearRect清除像素,save/restore管理绘图状态。
-
ES6模块是原生静态系统,import必须顶层以支持编译期分析;命名导出需大括号且名称一致,default导出可重命名;路径须带扩展名或斜杠,裸导入需导入映射。