读书笔记:《图解 HTTP》 - [日]上野宣 著 / 于均良 译

全面介绍了 HTTP 协议的基础概念、工作原理及相关技术,包括 TCP/IP 分层、URI 与 URL 的区别、Cookie 状态管理、首部字段功能,以及 HTTP 的安全性缺陷与 HTTPS 的加密保护机制。同时涵盖了基于 HTTP 的协议优化 (如 SPDY、WebSocket) 和常见网络攻击类型 (如 XSS、SQL 注入、会话劫持),为理解 Web 技术和网络安全提供了深入指导。

浏览器与 Node.js 的事件循环 (Event Loop) 有何区别?[转]

概述了 JavaScript 的异步原理,比较了浏览器与 Node.js 中 Event Loop 的差异。介绍线程与进程的概念、多线程模型及浏览器内核的多线程机制,详细解析了浏览器和 Node.js 的事件循环流程,包括宏任务与微任务的执行顺序、`setTimeout` 与 `setImmediate` 的区别、`process.nextTick` 的优先级等,最后总结了两者在任务队列执行时机上的不同。

读书笔记:《你不知道的JavaScript(上卷)》 - [美]Kyle Simpson 著 / 赵望野 梁杰 译

详细探讨了 JavaScript 中的编译原理、作用域规则、闭包机制与提升行为,深入解析了 this 的绑定规则及其四种调用方式 (默认绑定、隐式绑定、显式绑定、new 绑定)。同时,通过对类与原型链的分析,阐明了 JavaScript 的委托机制与对象关联的设计哲学,强调类语法的局限性及其与传统面向对象语言的差异,最终倡导拥抱动态特性与行为委托的编程风格。

hasOwnProperty 会失效的场景

介绍了 hasOwnProperty 的作用及其与 in 操作符的区别,强调其仅检测对象自身属性。分析了两种失效场景:对象存在同名 hasOwnProperty 方法或通过 Object.create(null) 创建无原型链对象,并提供了解决方案,如使用 Object.prototype.hasOwnProperty.call 强制调用原生方法以确保准确性。

JavaScript 发展简介 - 面向Hr

JavaScript 起源于 1995 年,最初用于客户端表单验证,因其简便性迅速流行。随着微软推出 JScript,标准化的 ECMA-262 诞生。2009 年 NodeJS 的出现使 JavaScript 成为后端语言,推动了前端工具如 Webpack 的发展。现代浏览器竞争激烈,推动了 Angular、React 和 Vue 等框架的普及,React Native 实现了多端兼容,进一步扩展了 JavaScript 的应用场景。

如何记录页面加载时间

通过三种方法记录页面加载时间:1. 纯前端时间戳,记录从脚本开始到页面加载完成的时间,但忽略网络延迟等;2. 配合后端记录连接建立到加载完成的时间,但增加后端负担且部分时间未覆盖;3. 使用 HTML5 的 PerformanceTiming.navigationStart 提供更全面的时间记录,但存在兼容性限制,仅支持 IE9+。

节流和去抖的简单实现

介绍了两种控制函数执行频率的方法:节流和去抖。节流通过设定间隔时间,限制高频函数的执行频率,避免过多压力;实现方式为记录上次执行时间,与当前时间比较,决定是否执行。去抖则在连续触发中仅执行一次,通过延时定时器实现,防止频繁 DOM 操作。两者通过不同策略优化性能。