-
JavaScript的Date对象用于处理日期和时间,可创建当前或指定时间实例。通过newDate()生成日期,支持时间字符串、年月日时分秒参数及时间戳输入。获取日期信息使用getFullYear()、getMonth()(0-11)、getDate()、getDay()等方法。可通过set系列方法修改日期部分,结合getTime()进行时间计算,如加减天数。格式化输出可用toDateString()、toISOString()、toLocaleString()等,自定义格式需组合方法并用padStart
-
视频元素不必用position:fixed,但可靠视差实现普遍依赖它;需配合top:0、宽高设置及父容器100vh高度,移动端需加will-change:transform;scroll事件应结合requestAnimationFrame节流计算位移;video必须设autoplay、muted、loop、playsinline和preload="auto";禁用transition才能避免晃动;加载状态和移动端兼容性是最大难点。
-
JavaScript中的class是构造函数的语法糖,本质基于原型机制,非全新对象模型;它使构造器、原型方法和静态方法定义更清晰,但底层仍等价于函数与原型操作。
-
首先利用FileAPI的slice方法将大文件切分为多个小块,再通过Blob对象逐个上传分块,实现稳定、支持断点续传的大文件上传机制。
-
JavaScript依赖管理核心是用包管理器自动处理第三方代码的下载、安装、更新和版本控制;npm最通用且生态成熟,yarn更快更稳定,pnpm则节省磁盘空间且高效。
-
跳表通过多层索引实现高效查询,从最高层开始逐层跳跃并缩小范围,平均时间复杂度为O(logn)。其核心参数包括晋升概率p(通常0.5)、最大层数max_level(约log_{1/p}N)、高质量随机数生成器及合理节点结构,确保查询、插入、删除的高效平衡。相比平衡二叉树,跳表实现更简单,并发性能更优,广泛应用于Redis、LevelDB等系统。
-
事件流包含捕获、目标和冒泡三个阶段,事件从window开始向下传播至目标元素再向上冒泡;2.可通过addEventListener的第三个参数指定在捕获或冒泡阶段监听事件;3.使用event.stopPropagation()阻止事件传播,stopImmediatePropagation()additionally阻止同元素其他监听器执行;4.事件委托利用冒泡机制将事件绑定到父元素处理子元素事件,减少内存占用并支持动态添加的元素;5.需通过e.target准确判断事件源,并注意并非所有事件都冒泡,如foc
-
HTML是前端开发基石,在跨平台、轻量交付中持续强化;需掌握HTML5语义化、原生API、多环境适配、工程化协作、垂直领域应用及性能安全优化五大路径。
-
合理使用CSS预处理器、实用类工具和CSS变量可提升响应式设计效率。1.用Sass等定义断点变量和mixin,避免重复代码;2.采用Tailwind类名直接在HTML中控制响应式显示;3.利用CSS自定义属性动态调整样式;4.保持媒体查询扁平化,遵循移动优先原则,确保代码清晰易维护。
-
可通过相对路径、绝对路径或网络URL引用外部图片:一、同级目录用"logo.png";二、子目录用"images/logo.png";三、父目录用"../logo.png";四、本地硬盘用"file:///D:/path"(受限);五、远程图片用"https://example.com/img.png"。
-
<p>JavaScript函数按定义和行为分为四类:函数声明(完全提升、有名字)、函数表达式(仅变量名提升、可匿名)、箭头函数(无this/arguments/new.target)、生成器函数(function*+yield)。</p>
-
Promise是JavaScript处理异步操作的标准对象,代表未来完成或失败的操作,具有pending、fulfilled、rejected三种不可逆状态;通过newPromise()创建,支持链式调用(.then/.catch)、静态方法(all/race/resolve/reject)及async/await语法。
-
浮动与定位结合使用时,应通过BFC防止塌陷,利用relative建立定位上下文,在保证兼容性的同时优化性能,避免重排,并逐步过渡到Flexbox和Grid布局。
-
entries()方法返回一个迭代器对象,用于遍历数组的索引和值组成的键值对,1.调用arr.entries()返回迭代器而非数组,需通过for...of或next()方法访问;2.每次next()调用返回包含value(键值对)和done(是否结束)属性的对象;3.实际应用包括同时获取索引和值(如生成带索引类名的HTML)、简化数据处理逻辑及与其他迭代方法组合使用;4.相比for...in循环,entries()仅遍历数组元素而不包括自定义或继承属性,避免意外输出,更安全可靠。
-
需用JavaScript实现HTML表格动态求和,包含五种方案:一、事件监听实时计算;二、数据属性结构化求和;三、contenteditable单元格配合keyup;四、Array.from与reduce函数式写法;五、多列独立求和模块化封装。