人定勝天
10
02
CSS属性计算过程 CSS属性计算过程
总的来讲,属性值的计算过程,分为如下这么 4 个步骤: 确定声明值 层叠冲突 使用继承 使用默认值 确定声明值 首先第一步,是确定声明值。所谓声明值就是作者自己所书写的 CSS 样式,例如前面的: p{ color : r
2023-10-02
09
21
JavaScript中上拉加载和下拉刷新 JavaScript中上拉加载和下拉刷新
实现 上拉加载及下拉刷新都依赖于用户交互 最重要的是要理解在什么场景,什么时机下触发交互动作 上拉加载 上拉加载的本质是页面触底,或者快要触底时的动作 判断页面触底我们需要先了解一下下面几个属性 scrollTop:滚动视窗的高度距离w
2023-09-21
21
JavaScript中数字精度丢失 JavaScript中数字精度丢失
场景复现 一个经典的面试题 0.1 + 0.2 === 0.3 // false 为什么是false呢? 先看下面这个比喻 比如一个数 1÷3=0.33333333… 3会一直无限循环,数学可以表示,但是计算机要存储,方便下次取出来再使用,
2023-09-21
21
JavaScript缓存详解 JavaScript缓存详解
函数缓存 概念 函数缓存,就是将函数运算过的结果进行缓存 本质上就是用空间(缓存存储)换时间(计算过程) 常用于缓存数据计算结果和缓存对象 const add = (a,b) => a+b; const calc = memoize(add
2023-09-21
21
JavaScript中的垃圾回收机制 JavaScript中的垃圾回收机制
概念 内存泄漏(Memory leak)是在计算机科学中,由于疏忽或错误造成程序未能释放已经不再使用的内存 并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了内存的
2023-09-21
20
JavaScript事件循环 JavaScript事件循环
是什么首先,JavaScript是一门单线程的语言,意味着同一时间内只能做一件事,但是这并不意味着单线程就是阻塞,而实现单线程非阻塞的方法就是事件循环 在JavaScript中,所有的任务都可以分为 同步任务:立即执行的任务,同步任务一般
2023-09-20
20
20
20
JavaScript中this对象详解 JavaScript中this对象详解
定义 函数的 this 关键字在 JavaScript 中的表现略有不同,此外,在严格模式和非严格模式之间也会有一些差别 在绝大多数情况下,函数的调用方式决定了 this 的值(运行时绑定) this 关键字是函数运行时自动生成的一个内部对
2023-09-20
20
JavaScript深拷贝和浅拷贝 JavaScript深拷贝和浅拷贝
数据类型存储 前面文章我们讲到,JavaScript中存在两大数据类型: 基本类型 引用类型 基本类型数据保存在在栈内存中 引用类型数据保存在堆内存中,引用数据类型的变量是一个指向堆内存中实际对象的引用,存在栈中 浅拷贝 浅拷贝,指的是
2023-09-20
20
JavaScript数据对比与转换 JavaScript数据对比与转换
数据转换 概述 前面我们讲到,JS中有六种简单数据类型:undefined、null、boolean、string、number、symbol,以及引用类型:object 但是我们在声明的时候只有一种数据类型,只有到运行期间才会确定当前类型
2023-09-20
19
ES6经典数据结构详解 ES6经典数据结构详解
Set是一种叫做集合的数据结构,Map是一种叫做字典的数据结构 什么是集合?什么又是字典? 集合 是由一堆无序的、相关联的,且不重复的内存结构【数学中称为元素】组成的组合 字典 是一些元素的集合。每个元素有一个称作key 的域,不同元素的
2023-09-19
3 / 10