原型链 & this 指向总结
一、JavaScript 原型链 1\. 基础概念 每个对象都有一个 内部属性 \[\[Prototype\]\] ,可以通过 或 访问。 构造函数 有一个 属性,指向一个对象,这个对象作为实例的原型。 查找属性的顺序: 实例 → 原型 → 原型的原型 … → Object.prototype → null 2\. 典型例题示意 | 表达式 | 值/说明 | | | | | | 1 (实例自身没有,去原型链找) | | | Foo.pr...
眼前一亮的HTTP 🌐
🌐 HTTP协议基础 什么是HTTP? HTTP(HyperText Transfer Protocol)超文本传输协议 是互联网上应用最为广泛的一种网络协议。它是一个基于 请求 响应 模式的、 无状态 的应用层协议,常基于TCP协议传输。 OSI七层协议模型 面试考点 :能够清晰说出HTTP位于应用层,基于TCP协议,并理解各层的作用。 🚀 HTTP版本演进史 HTTP/0....
javascript类数组
前言 在JavaScript开发中,我们经常会遇到一些看起来像数组,但实际上并不是真正数组的对象,这些对象被称为 “类数组对象(Array like Objects)” 。 一、什么是类数组对象? 类数组对象是指那些具有以下特征的对象: 1. 拥有 属性,表示元素的数量 2. 拥有索引元素(0, 1, 2…),可以通过索引访问 3. 不具备数组原型上的方法(如 , , 等) 简单来说,类数组对象"看起来像"数组,但它们并不是从 构造函数...
堆栈/异步/执行栈连环问
1\. 数据类型分别存在哪里? (1) ,b输出什么? 关键点 : 是 地址复制 ,不是深拷贝。a断开连接,b不受影响。 「Q1: 如果 ,a再访问会怎样?❓」 A1: a已为null,但若a未被赋null, 也会变成"改了",因为指向同一堆对象!👉继续看? 「Q2: 什么情况下b会变null?💥」 A2: 只有 才行。或者全局作用域被销毁(如页面关闭)。 「Q3: 这种机制叫什么?🤯」 A3: 按引用传递(pass by ref...
前端路由揭秘:单页应用流畅导航的核心技术
前端路由揭秘:单页应用流畅导航的核心技术 为什么现代网页可以在不刷新的情况下切换页面?URL变化但页面却不会重新加载的秘密是什么?这一切都要归功于前端路由——单页应用(SPA)的核心技术。 什么是前端路由? 在传统多页应用中,每次点击链接都会触发 整页刷新 :浏览器向服务器请求新HTML页面,重新加载所有资源(CSS、JS等)。这种体验明显卡顿且效率低下。 前端路由则完全不同——它是 在单页应用中建立URL与组件映射关系的导航系统 。想...
发布订阅模式 vs 观察者模式
发布订阅模式 vs 观察者模式:它们真的是一回事吗? 你在学习前端开发时是否也曾困惑:发布订阅和观察者模式听起来如此相似,它们究竟有什么区别?为什么有些资料说它们是一回事,而实际代码实现却截然不同?今天,我们将揭开这两种模式的神秘面纱。 为什么我们需要设计模式? 在深入探讨之前,让我们思考一个问题: 为什么我们需要这些设计模式? 想象你正在开发一个复杂的前端应用,多个组件需要相互通信,但又不能紧密耦合在一起。就像城市中的交通系统,如果每...
ES6到HTTPS全链路
⚡Promise:异步的“承诺书”如何兑现? 📌 Promise 有 3 个状态 : 1. :初始态,等待结果 2. :成功态,被 3. :失败态,被 状态 单向流动 : 或 ,不可逆 ❗ ⚠️ 状态一旦改变,永不回头? 「Q1: Promise 状态变了,then 还能监听到吗?」 A1: 能!即使 resolve 在 then 之前,Promise 会“记住”结果,后续 then 依然执行(微任务队列机制)👉继续看?💡 「Q2...
new操作
new操作符做了以下工作 手写new操作符(适用于Class类和Function构造函数) 1. 使用 : 创建了一个新的空对象,并将其原型设置为 。这等同于手动设置 的效果,但更符合标准和规范。 2. 泛型类型参数 : 定义了 是一个构造函数类型,它接受任意数量的参数并返回任意类型的实例。 InstanceType 是 TypeScript 中的一个类型操作符,用于从一个构造函数类型中提取其实例类型 表示 构造函数所创建的实例类型,这...
React基础篇前端面试题
<span style="color: var( g headertextcolor);" 一、基础概念</span 1.React核心设计思想 组件化设计 原子化构建 : 分解为独立的功能单元(如函数式组件/类组件) 组合模式 :通过 嵌套实现组件树结构 隔离型 :每个组件维护自身状态和样式( 生态支持) 复用机制 :高阶组件( )与自定义 实现逻辑复用 声明式编程范式 状态驱动 : 的数学表达式(无需手动操作DOM) 抽象渲染 :开...