Ariel's Blog

简单是可靠的前提

第一章:JavaScript 对象基础

1.1 对象的概念与创建方式

基本概念

JavaScript 对象是键值对的集合,是 JavaScript 的核心数据类型。对象可以看作是无序的属性集合,每个属性都有一个名称(键)和一个值。

对象的特点有以下几点:

  • 动态性:随时可添加/删除属性
  • 引用类型:对象是通过引用访问的复合值
  • 原型继承:每个对象都有原型链
  • 属性特性:对象的属性可以拥有可读、可写、可枚举、可配置等特性
阅读全文 »

一、基础网络协议

1.1 HTTP/HTTPS协议核心

HTTP协议

定义

HTTP(HyperText Transfer Protocol)是应用层协议,基于 请求-响应 模型,用于客户端(浏览器)与服务器之间的数据传输,默认端口 80

核心特性

  • 无状态:每个请求独立,服务器不保留客户端上下文(状态管理依赖 Cookie 和 Session)
  • 明文传输:请求与响应内容以未加密的文本形式传输
  • 常用方法:
    • GET:获取资源
    • POST:提交数据
    • PUT:更新资源
    • DELETE:删除资源
阅读全文 »

深拷贝与浅拷贝

基本概念

浅拷贝(shallow copy)

浅拷贝只复制对象的第一层属性,如果属性类型是基本类型,则复制其值,如果属性类型是引用类型,则复制其在内存中的地址(即引用),因此拷贝后的对象与原对象共享引用类型的属性

深拷贝(deep copy)

深拷贝会递归复制对象的所有层级,创建一个全新的对象,新对象与原对象不共享任何引用类型的属性

阅读全文 »

第一章:React Fiber 的诞生背景

1.1 React15 及之前版本的渲染瓶颈

递归不可中断的协调过程(stack reconciler栈协调器)

stack reconciler 是什么?

stack reconciler 是 React15 及之前版本中使用的虚拟 dom 协调算法,负责计算组件树的变化并更新真实 dom。其核心特点是基于递归遍历、不可中断的同步更新流程。

递归遍历虚拟 dom

采用深度优先遍历策略(FDS),从组件树根节点开始,递归调用组件的 render 方法,生成完整的虚拟 dom 树。递归遍历依赖于 JavaScript 调用栈(call stack),一旦开始就必须执行到底,无法中途暂停。

阅读全文 »

入口起点(entry point)

用法

语法:entry: string | [string] | { string | [string] } | {}

// webpack.config.js
module.exports = {
  entry: {
    app: './src/app.js',
    file: ['./src/file_1.js', './src/file_2.js'],
    a1: {
      dependOn: 'app', // 当前入口所依赖的入口。它们必须在该入口被加载前被加载。
      filename: '', // 指定要输出的文件名称
      import: '', // 启动时需加载的模块
      library: '', // 指定 library 选项,为当前 entry 构建一个 library
      runtime: '', // 运行时 chunk 的名字。如果设置了,就会创建一个新的运行时 chunk。在 webpack 5.43.0 之后可将其设为 false 以避免一个新的运行时 chunk
      publicPath: '', // 当该入口的输出文件在浏览器中被引用时,为它们指定一个公共 URL 地址
    },
  }
}
阅读全文 »
0%