歪比巴布
  • 首页
  • 前端
    css JavaScript 框架 网络 浏览器 应用问题 性能优化
  • 后端
  • 杂记
  • 算法

手写promise

// 记录Promise的三种状态 const PENDING = 'pending'; const FULFILLED = 'fulfilled'; const REJECTED = 'rejected'; /** * 运行一个微队列任务 * 把传递的函数放到微队列中 * @param {
2026-01-30
JavaScript

es6笔记

变量声明 为什么在let声明变量之前访问变量报的不是undefined的错而是未初始化的错 底层实现上,let声明的变量实际上也会有提升,但是,提升后会将其放入到“暂时性死区”,如果访问的变量位于暂时性死区,则会报错:“Cannot access 'a' before initialization”
2026-01-30
JavaScript

原型与作用域详解

作用域与全局对象 当在页面中引入多个js文件的时候,需要把单个js文件中的代码写入一个立即执行函数中,然后将需要使用到的东西返回出来即可,这样可以避免全局变量污染 原型与原型链 prototype 函数,本质上是一个特殊的对象,他的特殊之处之一就是,函数可以直接访问该函数的prototype属性,即
2026-01-30
JavaScript

执行期上下文

执行上下文 函数执行上下文:一个函数运行之前,创建的一块内存空间,空间中包含有该函数执行所需要的数据,为该函数执行提供支持。 执行上下文栈:call stack,所有执行上下文组成的内存空间。 栈:一种数据结构,先进后出,后进先出。 全局执行上下文:所有JS代码执行之前,都必须有该环境。 JS引擎始
2026-01-30
JavaScript

bom与dom

WebAPI 和标准库不同,WebAPI 是浏览器提供的一套 API,用于操作浏览器窗口和界面 WebAPI 中包含两个部分: BOM:Browser Object Model,浏览器模型,提供和浏览器相关的操作 DOM:Document Object Model,文档模型,提供和页面相关的操作 B
2026-01-30
JavaScript

js总体笔记

作用域与全局对象 当在页面中引入多个js文件的时候,需要把单个js文件中的代码写入一个立即执行函数中,然后将需要使用到的东西返回出来即可,这样可以避免全局变量污染 原型与原型链 prototype 函数,本质上是一个特殊的对象,他的特殊之处之一就是,函数可以直接访问该函数的prototype属性,即
2026-01-30
JavaScript

原型链

原型链 什么是原型链 所有的对象都是通过new 函数的方式创建的 var u1 = new User('邓', '旭明'); // 对象 u1 通过 new User 创建 var u2 = { // 对象 u2 通过 new Object
2026-01-30
JavaScript

快排

快速排序 快速排序背后采用的也是分治的思想。 核心思想 选择基准元素 从数组中 随机选择 一个元素作为基准值(pivot)。 分区操作 将数组中所有小于基准的元素移动到基准的左侧,大于基准的元素移动到右侧。这样,基准就处于它排序后应在的位置上。整个序列就变成了 [比基准小的值] 基准值 [比基准大的
2026-01-30
算法

归并排序

归并排序 核心思想 归并排序,英语 Merge Sort,这是一种基于 分治法 的排序算法。它的基本思想是将一个大的数组分成若干个小的数组,直到每个小数组只有一个元素为止。然后再将这些小数组合并成一个有序的数组。 归并排序工作流程: 分割:将原始数组分成两个部分,递归的将每一个部分的数组继续分割,直
2026-01-30
算法

希尔排序核心思想

希尔排序 希尔排序仍然是插入排序的一种改进版本。 希尔排序主要利用到了插入排序的两个特点: 如果序列基本有序,那么时间复杂度能够达到 O(n) 级别 如果数据量比较小,即便是最坏情况 O(n²) 也和 O(n) 拉不开差距,此时效率也比较高 核心思想 希尔排序的核心思想是采用 分组 的策略来对数据进
2026-01-30
算法
1 2 3 4 5
Halo Fluid
京ICP证xxxx号 | police-icon 京公网安备123456号