自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DWForYou_DJF

执行力才是拉开人与人差距的关键

  • 博客(66)
  • 收藏
  • 关注

原创 Vue中的nextTick()浅谈

方法

2020-09-11 16:58:34 107

原创 数据结构和算法

程序执行时需要的计算量和内存空间(和代码是否简洁无关)复杂度是数量级(方便记忆、推广),不是具体的数字一般针对一个具体的算法,而非一个完整的系统链表: 链表是一种物理结构(非逻辑结构),类似于数组;数组需要一段连续的内存区间,而链表是零散的;链表节点的数据结构{value, next?, prev?

2023-04-12 12:00:54 601

原创 CSS防止高度坍塌的4种方式

【代码】CSS防止高度坍塌的4种方式。

2023-04-10 16:57:09 227

原创 jsencrypt加密解密

RSA非对称加密

2023-03-31 10:43:28 797

原创 sort() 超全详细用法

排序稳定性(stable sorting)是排序算法的重要属性,指的是排序关键字相同的项目,排序前后的顺序不变。

2023-03-28 10:08:05 174

原创 flat(),flatMap() 超全详细用法

方法的参数是一个遍历函数,该函数可以接受三个参数,分别是当前数组成员、当前数组成员的位置(从零开始)、原数组。该方法返回一个新数组,不改变原数组。用于将嵌套的数组“拉平”,变成一维的数组。上面代码中,遍历函数返回的是一个双层的数组,但是默认只能展开一层,因此。默认只会“拉平”一层,如果想要“拉平”多层的嵌套数组,可以将。方法的参数写成一个整数,表示想要拉平的层数,默认为1。方法将子数组的成员取出来,添加在原来的位置。的参数为2,表示要“拉平”两层的嵌套数组。上面代码中,原数组的成员里面有一个数组,

2023-03-28 10:05:12 1209

原创 includes() 超全详细用法

方法有两个缺点,一是不够语义化,它的含义是找到参数值的第一个出现位置,所以要去比较是否不等于。另外,Map 和 Set 数据结构有一个has方法,需要注意与includes区分。如果第二个参数为负数,则表示倒数的位置,如果这时它大于数组长度(比如第二个参数为。下面代码用来检查当前环境是否支持该方法,如果不支持,部署一个简易的替代版本。方法返回一个布尔值,表示某个数组是否包含给定的值,与字符串的。,表达起来不够直观。该方法的第二个参数表示搜索的起始位置,默认为。使用的是不一样的判断算法,就没有这个问题。

2023-03-27 17:51:44 2091

原创 entries(),keys() 和 values() 超详细用法

ES6 提供三个新的方法——entries(),keys()和values()——用于遍历数组。它们都返回一个遍历器对象,可以用for...of循环进行遍历,唯一的区别是keys()是对键名的遍历、values()是对键值的遍历,entries()是对键值对的遍历。

2023-03-27 17:45:11 645

原创 fill() 超全详细用法

fill方法使用给定值,填充一个数组。

2023-03-27 17:29:32 1551

原创 find() 和 findIndex() 超全详细用法

数组实例的find方法,用于找出第一个符合条件的数组成员。它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,则返回undefined。

2023-03-27 16:05:57 591

原创 copyWithin() 超全详细用法

数组实例的`copyWithin()`方法,在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。也就是说,使用这个方法,会修改当前数组。

2023-03-27 15:04:42 530

原创 Array.of() 超全用法详解

Array.of() 总是返回参数值组成的数组,用于将一组值,转换为数组。

2023-03-27 14:53:07 1255

原创 Array.from() 超全用法详解

Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括 ES6 新增的数据结构 Set 和 Map)。

2023-03-27 14:39:11 5679

原创 JS数组reduce()方法详解及高级技巧

reduce()方法可以搞定的东西,for循环,或者forEach方法有时候也可以搞定,那为啥要用reduce()?这个问题,之前我也想过,要说原因还真找不到,唯一能找到的是:通往成功的道路有很多,但是总有一条路是最捷径的,亦或许reduce()逼格更高…

2023-03-21 15:22:10 597

原创 npm发布包教程(五):废弃/删除

最后,我觉得作为一个开发者,我们有责任和义务维护每一个社区的纯净,所以在发布npm包的时候应该尽量精益求精,避免发一些没有价值的东西给其他人造成困扰。npm不鼓励任何形式的删除,主要因为我们发布的包可能已经被其他人引用,如果我们删除了此包,其他人在重新安装含有我们包的依赖的工程时,出现找不到包问题。至此,我们完成npm包的整个生命周期的演示过程,大家可以开源的道路上又多了一条很重要的道路。只有发布72小时之内的包可以删除!在test-my-pkg目录下。删除的版本24小时后方可重发!记录的版本号并无变化。

2023-03-20 13:53:26 2479

原创 npm发布包教程(四):迭代

一个npm包发布之后,我们难免会修改一些bug,或者增改一些功能,这就涉及到对npm包的迭代。本篇文章就npm迭代涉及到一些知识点进行介绍。本次演示以《npm发布包教程(二):发布包》中发布的包为基础。我们首先来演示内容的变更,以yuyy-test-pkg为例。

2023-03-20 13:27:57 303

原创 npm发布包教程(三):安装和加载原理

我们在上一篇《npm发布包教程(二):发布包》中演示了如何发布npm包,npm仓库有了我们自己的包,接下来就进入到安装并使用我们自己的包的环节。

2023-03-20 13:15:15 344

原创 npm发布包教程(二):发布包

上一篇文章《npm发布包教程(一):从npm说起》中我们介绍了npm相关的一些知识,旨在让大家对npm有一些深入的理解,这一篇我们正式开始演示发布过程。

2023-03-20 11:25:36 713

原创 npm发布包教程(一):从npm说起

作为一个前端,每个人应该对npm install这个命令应该非常熟悉了,尤其是对这个命令执行过程中命令窗口疯狂输出肯定印象深刻。我发现有的同学对安装包轻车熟路,但对包从哪里来的以及如何发布一个npm并不是很了解,基于此,在团队内部做了一次分享,将分享过程整理如下,希望对每一个想发布自己的包但又不知从何开始的同学有所帮助。由于发布包涉及到发布、安装、更新、删除/废弃等阶段,写在一篇文章中篇幅过长,决定拆开做成一个系列。今天第一篇首先介绍一下npm相关的一些知识。

2023-03-20 10:11:58 335

原创 npm常用命令

npm常用命令

2023-03-17 18:23:13 856

原创 Git修改分支名

Git修改分支名

2023-03-17 11:30:23 222

原创 Vue中router.go(-1)回退时如何判断有没有上一个路由

【代码】Vue中router.go(-1)回退时如何判断有没有上一个路由。

2023-03-17 11:27:16 646

原创 Vue中router.go(-1)回退时如何判断有没有上一个路由

【代码】Vue中router.go(-1)回退时如何判断有没有上一个路由。

2023-03-16 19:36:44 1186

原创 BFC详解

BFC(Block formatting context)直译为“块级格式化上下文它是一个独立的渲染区域,只有Block-level box参与,它规定了内部的Block-level box如何布局,并且与这个区域外部毫不相干。在官方文档到中,是这么介绍BFC的。强行翻译一下吧,简单来说,这句话的意思就是:一个BFC区域包含创建该上下文元素的所有子元素,但是不包括创建了新的BFC的子元素的内部元素。一个BFC区域只包含其子元素,不包括其子元素的子元素.

2023-03-15 11:01:46 387

原创 33个非常实用的JavaScript一行代码

33个非常实用的JavaScript一行代码

2023-03-13 16:34:39 1064

原创 new命令原理

【代码】new命令原理。

2023-03-13 16:15:29 91

原创 ES5面向对象

【代码】ES5面向对象。

2023-03-13 16:12:03 39

原创 JS随机打乱数组

【代码】JS随机打乱数组。

2023-03-13 16:11:49 76

原创 splice和slice的区别

splice会改变原数组,他通过删除或者替换现有元素或者原地添加新的元素来修改数组,并且以数组形式返回被修改的内容。有三个参数:start,指定修改的开始位置,如果超出数组的长度,则从数组末尾开始添加;start,起始索引,从该索引提取原数组元素,如果是负数,则从末尾开始;如果省略start,则默认是数组的0下标开始end,结束索引,在该索引结束提取原数组元素,如果end被省略,slice会一直到末尾;这个方法接受三个参数,我们在使用的时候可根据自己的情况传递一个参数,或两个参数,或者三个参数。

2023-03-13 16:10:11 457

原创 ES6面向对象

【代码】ES6面向对象。

2023-03-13 15:51:35 40

原创 effectScope() getCurrentScope() onScopeDispose() 用法区别

创建一个 effect 作用域,可以捕获其中所创建的响应式副作用 (即计算属性和侦听器),这样捕获到的副作用可以一起处理。对于该 API 的使用细节,请查阅对应的。

2023-03-13 15:41:46 203

原创 防抖与节流函数

防抖和节流的作用都是在高频事件中防止函数被多次调用,是一种性能优化的方案。区别在于,防抖函数只会在高频事件结束后n毫秒调用一次函数,节流函数会在高频事件触发过程当中每隔n毫秒调用一次函数。

2023-03-13 15:29:06 66

原创 比typeof运算符更准确的类型判断

【代码】比typeof运算符更准确的类型判断。

2023-03-13 15:19:45 46

原创 多种数组去重性能对比

【代码】多种数组去重性能对比。

2023-03-13 15:07:53 58

原创 Vue 高频面试题

闭包 =>特性?数据的私密性,延长变量生命周期为了保持各个组件的数据隔离我们知道JS中实例对象是通过构造函数来创建的,每个构造函数可以new出多个实例,每个实例都会继承原型上的属性和方法。那么在vue中,一个vue组件就是一个vue实例,当一个组件被复用多次就会创建多个实例。如果data是对象,那么多次复用的组件在某一处改变了data数据,就会影响到其他处复用这个组件的地方,因为对象是引用数据类型,是对内存地址的引用,牵一发而动全身。

2023-03-10 13:25:46 60

原创 前端面试八股文(大厂必备)

闭包 =>特性?数据的私密性,延长变量生命周期为了保持各个组件的数据隔离。

2023-03-09 09:26:20 98

原创 vue3-ts-vite 项目启动模版-快速创建预设项目

vue3-ts-vite 项目启动模版

2023-02-17 15:46:41 160

原创 node版本控制

node 版本控制

2023-02-17 15:40:19 37

原创 type 和 interface的区别

type 和 interface 的区别

2023-02-17 11:52:12 232

原创 一文读懂:GPU加速是什么?

众所周知,网页不仅应该被快速加载,同时还应该流畅运行,比如快速响应的交互,如丝般顺滑的动画……

2023-02-15 16:25:29 715

空空如也

空空如也

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

TA关注的人

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