自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 实现深拷贝还在用JSON.parse(JSON.stringfy(obj))?带你用JS实现一个完整版深拷贝函数

实现深拷贝还在用JSON.parse(JSON.stringfy(obj))?带你用JS实现一个完整版深拷贝函数目录实现深拷贝还在用JSON.parse(JSON.stringfy(obj))?带你用JS实现一个完整版深拷贝函数1.JSON序列化实现深拷贝2.自定义深拷贝函数2.1.基本功能实现2.2.其他类型处理2.3.循环引用处理1.JSON序列化实现深拷贝在JS中,想要对某一个对象(引用类型)进行一次简单的深拷贝,可以使用JSON提供给我们的两个方法。JSON.stringfy():可以

2022-04-10 17:59:53 1762

原创 掌握JavaScript中的迭代器和生成器,顺便了解一下async、await的原理

相信很多人对迭代器和生成器都不陌生,当提到async和await的原理时,大部分人可能都知道async、await是Promise+生成器的语法糖,其原理具体是怎么做的呢?下面通过这篇文章带你详细了解一下迭代器和生成器,以及带你从生成器一步步推导到async和await。

2022-04-04 18:43:58 1394

原创 由浅入深,从掌握Promise的基本使用到手写Promise

在ES6之前,对于一些异步任务的处理始终没有很好的方案可以解决,处理异步的方案可谓是十分混乱,在业务需求下异步请求的套用,就形成了回调地狱,严重影响代码的阅读性。而Promise的出现,给我们统一了规范,解决了之前处理异步任务的许多痛点,并且它友好的使用方式,使之成为了JavaScript一大重点,同时也是面试的高频问点,下面就一起来全面认识一下Promise吧。

2022-04-03 17:41:33 1059

原创 由浅入深,带你用JavaScript实现响应式原理(Vue2、Vue3响应式原理)

由浅入深,带你用JavaScript实现响应式原理(Vue2、Vue3响应式原理)目录由浅入深,带你用JavaScript实现响应式原理(Vue2、Vue3响应式原理)前言1.Object.defineProperty2.Proxy2.1.Proxy的基本使用2.2.Proxy的set和get捕获器2.3.Proxy的apply和construct捕获器2.4.Proxy所有的捕获器3.Reflect3.1.Reflect有什么作用呢?3.2.Reflect的基本使用3.3.Reflect上常见的方法3.

2022-03-27 23:34:14 1180 4

原创 ES6-ES12部分简单知识点总结,希望对大家有用~

ES6-ES12简单知识点总结1.ES6相关知识点1.1.对象字面量的增强ES6中对对象字面量的写法进行了增强,主要包含以下三个方面的增强:属性的简写:当给对象设置属性时,如果希望变量名和属性名一样就可以直接写该变量名;方法的简写:对象中的方法可直接写成foo() {}的形式;计算属性名:对象的属性名可以动态传入,将变量使用[]包裹即可;const obj = { // 1.属性简写 name, age, // 2.方法简写 foo() { console.

2022-03-27 23:25:47 1438

原创 JavaScript面向对象(3)—深入ES6的class

在前面一篇中主要介绍了JavaScript中使用**构造函数+原型链**实现继承,从实现的步骤来说还是比较繁琐的。在ES6中推出的class的关键字可以直接用来定义类,写法类似与其它的面向对象语言,但是使用class来定义的类其本质上依然是构造函数+原型链的语法糖而已,下面就一起来全面的了解一下class吧。

2022-03-15 21:27:39 664

原创 JavaScript面向对象(2)—继承的实现

面向对象的三大特性:封装、继承和多态。上一篇我们简单的了解了封装的过程,也就是把对象的属性和方法封装到一个函数中,这一篇讲一下JavaScript中继承的实现,继承是面向对象中非常重要的特性,它可以帮助我们提高代码的复用性。继承主要的思想就是将重复的代码逻辑抽取到分类中,子类只需要通过继承分类,就可以使用分类中的方法,但是在实现JavaScript继承之前,需要先了解一个重要的知识点“原型链”。

2022-03-11 22:38:06 1840

原创 JavaScript面向对象(1)—对象的创建和操作

虽然说在JavaScript编程语言中,函数是第一公民,但是JavaScript不仅支持函数式编程,也支持面向对象编程。JavaScript对象设计成了一组属性的无序集合,由key和value组成,key为一个标识符名称,而value可以是任意类型的值,当函数作为对象的属性值时,这个函数就可以称之为对象的方法。下面就来看看JavaScript的面向对象吧。

2022-03-11 22:32:30 1692

原创 JavaScript函数式编程(纯函数、柯里化以及组合函数)

函数式编程(Functional Programming),又称为泛函编程,是一种编程范式。早在很久以前就提出了函数式编程这个概念了,而后面一直长期被面向对象编程所统治着,最近几年函数式编程又回到了大家的视野中,JavaScript是一门以函数为第一公民的语言,必定是支持这一种编程范式的,下面就来谈谈JavaScript函数式编程中的核心概念纯函数、柯里化以及组合函数。

2022-02-20 23:09:22 483

原创 使用JS简单实现一下apply、call和bind方法

使用JS简单实现一下apply、call和bind方法

2022-02-19 22:03:43 452

原创 JavaScript中this的绑定规则

我们知道浏览器运行环境下在全局作用域下的this是指向window的,但是开发中却很少在全局作用域下去使用this,通常都是在函数中进行使用,而函数使用不同方式进行调用,其this的指向是不一样的。JavaScript中函数在被调用时,会先创建一个函数执行上下文(FEC),而这个上下文中记录着函数的调用栈、活动对象(AO)以及this等等。那么this到底指向什么呢?下面一起来看看this的四个绑定规则。

2022-02-14 00:01:09 447

原创 JavaScript闭包的那些事~

JavaScript闭包目录JavaScript闭包1.函数在JavaScript中的地位2.JavaScript中闭包的定义3.闭包是如何形成的?4.闭包的访问和执行过程5.闭包的内存泄露6.使用浏览器查看闭包1.函数在JavaScript中的地位在介绍闭包之前,可以先聊聊函数在JavaScript中的地位,因为闭包的存在是与函数息息相关的。JavaScript之所以可以称之为支持头等函数的编程语言,是因为JavaScript中函数是一等公民;函数不仅在JavaScript中扮演着重要的角

2022-02-09 23:44:06 563 1

原创 JavaScript的内存管理

JavaScript的内存管理目录JavaScript的内存管理1.什么是内存管理?2.JavaScript的内存分配3.JavaScript的垃圾回收机制4.两种常见的GC算法4.1.引用计数4.2.标记清除1.什么是内存管理?在了解JavaScript的内存管理之前,可以先大致熟悉一下什么是内存管理,不管什么样的编程语言,在其代码执行的过程中都是需要为其分配内存的。不管什么样的编程语言,以及它用什么方式来管理内存,其内存的管理都具备以下的生命周期:申请内存:分配其需要的内存。使用内存:

2022-02-08 02:05:46 1378 2

原创 JavaScript的执行过程(深入执行上下文、GO、AO、VO和VE等概念)

编写一段JavaScript代码,它是如何执行的呢?简单来说,JS引擎在执行JavaScript代码的过程中需要先解析再执行。那么在解析阶段JS引擎又会进行哪些操作,接下来就一起来了解一下JavaScript在执行过程中的详细过程,包括执行上下文、GO、AO、VO和VE等概念的理解。

2022-01-10 19:59:18 1450 4

原创 深入浏览器工作原理和JS引擎(V8引擎为例)

深入浏览器工作原理和JS引擎(V8引擎为例)

2022-01-06 14:34:45 1165

原创 行内非替换元素的注意点(padding、margin和border)

@[TOC](这里写目录标题)

2021-12-29 09:05:16 710

原创 CSS中不同单位的对比

CSS中不同单位的对比

2021-12-28 10:30:55 181

原创 CSS实现水平垂直居中的方式有哪些?

CSS实现水平垂直居中的方式

2021-12-27 19:39:05 911

原创 深入理解line-height和vertical-align

深入理解line-height和vertical-align

2021-12-26 20:54:30 999

原创 Flex布局的详细总结

Flex布局的详细总结

2021-12-25 16:44:13 693

原创 float浮动的详细总结

float浮动的详细总结

2021-12-24 17:53:55 1623

原创 Position定位详细总结

Position定位详细总结

2021-12-23 16:43:19 1718

原创 深入了解标准流以及脱标元素的特点

深入了解标准流以及脱标元素的特点

2021-12-23 16:39:36 462

原创 CSS中上下margin的传递和折叠

CSS中上下margin的传递和折叠

2021-12-22 21:50:51 1182

原创 HTML行内级元素之间的空格问题

HTML行内级元素之间的空格问题

2021-12-22 17:45:45 1125

原创 HTML元素类型总结

html元素类型总结

2021-12-22 09:56:41 1091 1

原创 CSS的三大特性(继承、层叠和优先级)

css的三大特性(继承、层叠和优先级)

2021-12-20 23:27:18 343

原创 CSS选择器类型总结

CSS选择器类型总结

2021-12-18 23:12:32 1640

原创 js实现数组去重的方式(7种)

js实现数组去重的7种方式

2021-12-11 19:12:52 68541

原创 使用JS实现数组扁平化的几种方式

使用JS实现数组扁平化的几种方式

2021-12-06 20:30:00 630

空空如也

空空如也

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

TA关注的人

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