自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 JS的内存管理

执行上下文栈(下文简称执行栈)也叫调用栈,执行栈用于存储代码执行期间创建的所有上下文,具有LIFO(Last In First Out后进先出,也就是先进后出)的特性。用通俗的话来讲,执行上下文栈就是一个来装执行上下文的一个容器JS代码首次运行,都会先创建一个全局执行上下文并压入到执行栈中,之后每当有函数被调用,都会创建一个新的函数执行上下文并压入栈内;由于执行栈LIFO的特性,所以可以理解为,JS代码执行完毕前在执行栈底部永远有个全局执行上下文。关于执行栈,有5点需要记住:●。

2023-05-17 19:12:50 206 1

原创 手写call,apply与bind方法

三中方法的区别首先我们要知道这3中方法都是用来修改函数内部this指向的问题,但它们3者之间又有区别,bind方法与call和apply方法不同,调用call方法会返回一个新的函数,等到执行的时候才会改变,apply方法的第二个参数接收一个数组对象,而call与bind都是正常传参,在知道大概区别后我们进行手写call方法 //call方法 Function.prototype.mycall = function (cxt,...args) {//在函数的原型上加入mycall方法,cxt

2021-10-04 15:28:26 182

原创 手写promise,promise.all,promise.race

手写promise //手写promise const RESOLVE = 'resolved';//成功状态 const REJECT = 'rejected'//失败状态 const PENDING = 'Pending'//等待状态 class MyPromise { status = PENDING; result = undefined reason = undefined onResolvedArr = [] onRejectArr =

2021-10-01 15:58:30 299

原创 vue之vuex

我们知道在我们学习vue的过程中,在父子之间的传值我们通过props和$emit是可以很好的实现的,但当我们要对项目中兄弟组件进行传值的时候,就变得麻烦起来了,所以vue引入了vuex来帮我们很轻松的解决这个问题什么是vuex?vuex是vue框架中的状态管理模式,它由五个部分组成即:state,actions,mutations,getters和module来组成vue中如何使用vuexnpm安装npm install vuex在已创建的vue项目中创建一个store文件夹,在

2021-09-29 21:03:36 598

原创 JS的继承

ES5的继承原型链继承 //父类 function Father() { this.name = 'abc' this.age = 10 this.hobby =['篮球','足球','乒乓球'] } //子类 function Son() { } Son.prototype = new Father() var obj = new Son() var obj1 = new Son() obj1.name = 'cba' obj1.

2021-09-25 19:15:56 201 1

原创 JS原型与原型链

什么是原型所有引用类型都有一个——proto——表示隐式原型,属性值是一个普通的对象所有函数都有一个prototype(原型),属性值是一个普通的对象所有引用类型——proto——属性指向 它构造函数的prototype通俗的讲就是每一个对象都有一个属性(——proto——,prototype)指向它的原型对象,他可以使用自己原型对象上的属性和方法用图片可表示为代码案例 function F() {} F.prototype.a = 10 obj = new F.

2021-09-21 15:07:27 92

原创 JS深拷贝浅拷贝

在我们对深拷贝浅拷贝的认识之前,我们首先要知道js的数据类型分为基本数据类型和引用数据类型,而object就是属于引用数据类型,而引用数据是保存在堆中的,在栈中保存的是指向堆内存的引用地址.例如下面一段代码 obj = { a:1, b:2, c:{ d:3 } }用图片表示便是通过这张图片我们可以清楚的看见在对象的栈内存中保存了一个引用地址他指向了一个新的内存空间,而这个内存空间里面保存着obj的内容,即保存在了堆内存中通过对引用数据类型.

2021-09-15 20:16:09 88

原创 JS 闭包

概念什么是闭包?一个函数和它周围状态的引用捆绑在一起的组合听到这句话可能有的小伙伴有点难以理解,那么你也可以理解成函数嵌套函数内部函数就是闭包

2021-09-07 15:00:22 101

原创 JS防抖与节流

概念什么是防抖?什么是节流?首先我们先记住2句话,我们带着这2句话进行下面的探讨1.防抖就是在一定时间内,仅最后一次生效的任务2.节流就是在一定时间内,仅第一次生效的任务防抖运用首先我们要先清楚我们什么为什么要用防抖函数,我们在那些地方可以用到防抖函数?首先我们可以先看一下以下的代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <ti

2021-09-01 21:23:47 388 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除