Appearance
JavaScript · DOM 与浏览器 API
- atob与btoa的Base64编解码用法
- 假值对象及其布尔转换行为
- HTML 属性与 DOM 属性的区别与同步关系
- 批量DOM更新减少重绘重排
- HTML表单跨域提交机制与安全风险
- 获取页面垂直滚动距离的兼容写法
- 前端常用的 Content-Type 类型及适用场景
- WebWorker 的终止方式与能否复用
- offsetWidth、clientWidth、scrollWidth的区别
- 将 video 画面实时绘制到 canvas 并提供播放控制
- 页面可用性时间与 Performance API
- JS 元素拖拽的实现思路与核心事件
- Service Worker 原理、生命周期与应用场景
- JSONP 的工作原理及只支持 GET 的原因
- iOS Safari 软键盘弹出时 fixed 定位异常
- 禁止浏览器前进后退的实现思路
- 将真实 DOM 节点递归转换为虚拟 DOM 树
- 浏览器端纯 JavaScript 如何读取 PDF 文件
- 实现一个判断设备来源的工具函数
- 大文件上传分片与断点续传方案
- document.write 与 innerHTML 的区别与使用建议
- DOM 事件冒泡机制及停止方式
- event.target 与 currentTarget 的区别
- 用 Canvas 实现图片马赛克效果
- JavaScript如何实现加入收藏夹功能
- iOS 移动端网页如何禁止橡皮筋滚动效果
- Virtual DOM 概念、工作原理与性能优势
- 用 Promise 封装 XMLHttpRequest 实现 ajax
- Vue nextTick 与 setTimeout(0) 调度时机差异
- 将 HTML 字符串解析为 JSON 树
- 原生 JavaScript 实现元素拖拽功能
- 如何区分 fetch 响应是 JSON 还是文件流
- Ajax 的概念与创建请求步骤
- 前端实现 ZIP 文件下载的常用方案
- 动态操作DOM的常用方法与注意事项
- AJAX 轮询的实现思路及与 WebSocket 的优劣对比
- 事件委托的原理、优势与代码实现
- mouseover 与 mouseenter 事件的区别
- createDocumentFragment 与 createElement 的核心区别
- stopPropagation 与 preventDefault 的区别
- MutationObserver的常见应用场景
- 实现简易DOM选择器函数,支持id/class/tagName并兼容IE8
- getElementsByClassName 与 querySelectorAll 的区别
- 用 JavaScript 实现大文件断点续传上传方案
- Virtual DOM diff 算法的比较与更新机制
- JavaScript 定时器为什么不精确
- 实现按顺序动态加载多个 script 文件
- DOM 与 BOM 的概念及区别
- JavaScript 事件模型与事件流阶段
- Cookie SameSite 属性取值与作用