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