12 2024 档案
摘要:一、前端错误的捕获 在 JavaScript 日志系统中,捕获错误的范围应该全面,涵盖前端应用中可能出现的各类问题,包括语法错误、运行时错误、资源加载错误以及用户行为异常等。以下是不同类型错误的捕获方法: window.onerror: 可捕获常规错误(变量未定义、函数调用错误等)、计时器等错误,但
阅读全文
摘要:ES6 的 Symbol 是一种独特的原始数据类型,用于生成唯一的标识符。它的主要特点是每次创建的 Symbol 值都是唯一的,即使描述相同,也不会相等。 1.定义对象的唯一属性键,防止命名冲突 在对象中定义键值时,通常使用字符串作为键,但这可能导致命名冲突。而使用 Symbol 作为键可以确保属性
阅读全文
摘要:在前端播放一个大小为 10GB 的视频时,直接下载整个视频文件然后播放显然是不切实际的,因为这样会导致极大的延迟和带宽消耗。为了尽快开始播放大文件,可以采用以下几种技术来优化视频播放体验。 1.视频流式传输 (Streaming) 流式传输允许前端在不下载完整文件的情况下,就能开始播放视频。具体的方
阅读全文
摘要:题目:设计一个js抽奖程序,一共分为三等奖,每一个等级的中奖概率及中奖人数都可自定义。 解法核心: 设定概率: 一等奖概率:10% 即 [0 - 0.1) 的范围 二等奖概率:30%. 即 [0.1 - 0.4) 的范围。注:为什么是从0.1开始?因为<0.1的话就是中了一等奖 三等奖概率:40%
阅读全文
摘要:发布订阅模式(Publish-Subscribe)与观察者模式(Observer Pattern) 发布订阅模式和观察者模式都属于常见的设计模式,用于在一个对象的状态变化时,通知其他对象。然而,它们的实现方式和适用场景略有不同。接下来,我们分别解释这两种模式的差异,并提供 JavaScript 示例
阅读全文