JS相关
文章平均质量分 93
JavaScript相关知识点
MomentYY
编程是一门艺术,如果爱,请深爱!
展开
-
实现深拷贝还在用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 · 1749 阅读 · 0 评论 -
掌握JavaScript中的迭代器和生成器,顺便了解一下async、await的原理
相信很多人对迭代器和生成器都不陌生,当提到async和await的原理时,大部分人可能都知道async、await是Promise+生成器的语法糖,其原理具体是怎么做的呢?下面通过这篇文章带你详细了解一下迭代器和生成器,以及带你从生成器一步步推导到async和await。原创 2022-04-04 18:43:58 · 1391 阅读 · 0 评论 -
由浅入深,从掌握Promise的基本使用到手写Promise
在ES6之前,对于一些异步任务的处理始终没有很好的方案可以解决,处理异步的方案可谓是十分混乱,在业务需求下异步请求的套用,就形成了回调地狱,严重影响代码的阅读性。而Promise的出现,给我们统一了规范,解决了之前处理异步任务的许多痛点,并且它友好的使用方式,使之成为了JavaScript一大重点,同时也是面试的高频问点,下面就一起来全面认识一下Promise吧。原创 2022-04-03 17:41:33 · 1054 阅读 · 0 评论 -
由浅入深,带你用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 · 1174 阅读 · 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 · 1432 阅读 · 0 评论 -
JavaScript面向对象(3)—深入ES6的class
在前面一篇中主要介绍了JavaScript中使用**构造函数+原型链**实现继承,从实现的步骤来说还是比较繁琐的。在ES6中推出的class的关键字可以直接用来定义类,写法类似与其它的面向对象语言,但是使用class来定义的类其本质上依然是构造函数+原型链的语法糖而已,下面就一起来全面的了解一下class吧。原创 2022-03-15 21:27:39 · 662 阅读 · 0 评论 -
JavaScript面向对象(2)—继承的实现
面向对象的三大特性:封装、继承和多态。上一篇我们简单的了解了封装的过程,也就是把对象的属性和方法封装到一个函数中,这一篇讲一下JavaScript中继承的实现,继承是面向对象中非常重要的特性,它可以帮助我们提高代码的复用性。继承主要的思想就是将重复的代码逻辑抽取到分类中,子类只需要通过继承分类,就可以使用分类中的方法,但是在实现JavaScript继承之前,需要先了解一个重要的知识点“原型链”。原创 2022-03-11 22:38:06 · 1811 阅读 · 0 评论 -
JavaScript面向对象(1)—对象的创建和操作
虽然说在JavaScript编程语言中,函数是第一公民,但是JavaScript不仅支持函数式编程,也支持面向对象编程。JavaScript对象设计成了一组属性的无序集合,由key和value组成,key为一个标识符名称,而value可以是任意类型的值,当函数作为对象的属性值时,这个函数就可以称之为对象的方法。下面就来看看JavaScript的面向对象吧。原创 2022-03-11 22:32:30 · 1684 阅读 · 0 评论 -
JavaScript函数式编程(纯函数、柯里化以及组合函数)
函数式编程(Functional Programming),又称为泛函编程,是一种编程范式。早在很久以前就提出了函数式编程这个概念了,而后面一直长期被面向对象编程所统治着,最近几年函数式编程又回到了大家的视野中,JavaScript是一门以函数为第一公民的语言,必定是支持这一种编程范式的,下面就来谈谈JavaScript函数式编程中的核心概念纯函数、柯里化以及组合函数。原创 2022-02-20 23:09:22 · 475 阅读 · 0 评论 -
使用JS简单实现一下apply、call和bind方法
使用JS简单实现一下apply、call和bind方法原创 2022-02-19 22:03:43 · 445 阅读 · 0 评论 -
JavaScript中this的绑定规则
我们知道浏览器运行环境下在全局作用域下的this是指向window的,但是开发中却很少在全局作用域下去使用this,通常都是在函数中进行使用,而函数使用不同方式进行调用,其this的指向是不一样的。JavaScript中函数在被调用时,会先创建一个函数执行上下文(FEC),而这个上下文中记录着函数的调用栈、活动对象(AO)以及this等等。那么this到底指向什么呢?下面一起来看看this的四个绑定规则。原创 2022-02-14 00:01:09 · 443 阅读 · 0 评论 -
JavaScript闭包的那些事~
JavaScript闭包目录JavaScript闭包1.函数在JavaScript中的地位2.JavaScript中闭包的定义3.闭包是如何形成的?4.闭包的访问和执行过程5.闭包的内存泄露6.使用浏览器查看闭包1.函数在JavaScript中的地位在介绍闭包之前,可以先聊聊函数在JavaScript中的地位,因为闭包的存在是与函数息息相关的。JavaScript之所以可以称之为支持头等函数的编程语言,是因为JavaScript中函数是一等公民;函数不仅在JavaScript中扮演着重要的角原创 2022-02-09 23:44:06 · 554 阅读 · 1 评论 -
JavaScript的内存管理
JavaScript的内存管理目录JavaScript的内存管理1.什么是内存管理?2.JavaScript的内存分配3.JavaScript的垃圾回收机制4.两种常见的GC算法4.1.引用计数4.2.标记清除1.什么是内存管理?在了解JavaScript的内存管理之前,可以先大致熟悉一下什么是内存管理,不管什么样的编程语言,在其代码执行的过程中都是需要为其分配内存的。不管什么样的编程语言,以及它用什么方式来管理内存,其内存的管理都具备以下的生命周期:申请内存:分配其需要的内存。使用内存:原创 2022-02-08 02:05:46 · 1360 阅读 · 2 评论 -
JavaScript的执行过程(深入执行上下文、GO、AO、VO和VE等概念)
编写一段JavaScript代码,它是如何执行的呢?简单来说,JS引擎在执行JavaScript代码的过程中需要先解析再执行。那么在解析阶段JS引擎又会进行哪些操作,接下来就一起来了解一下JavaScript在执行过程中的详细过程,包括执行上下文、GO、AO、VO和VE等概念的理解。原创 2022-01-10 19:59:18 · 1429 阅读 · 4 评论 -
深入浏览器工作原理和JS引擎(V8引擎为例)
深入浏览器工作原理和JS引擎(V8引擎为例)原创 2022-01-06 14:34:45 · 1149 阅读 · 0 评论 -
js实现数组去重的方式(7种)
js实现数组去重的7种方式原创 2021-12-11 19:12:52 · 66133 阅读 · 0 评论 -
使用JS实现数组扁平化的几种方式
使用JS实现数组扁平化的几种方式原创 2021-12-06 20:30:00 · 627 阅读 · 0 评论