![](https://img-blog.csdnimg.cn/20200904093541404.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
javascript
文章平均质量分 76
探索js原理,共同探讨javascript的奥秘
super_wanan
捡起好多小代码,堆成一座大前端~
展开
-
JavaScript重难点实例精讲
我们可能会想到在Array的map()函数中调用parseInt()函数。像下面这样:但是在运行后,得到的结果是[1, NaN, NaN, NaN],与我们期望的结果[1, 2, 3, 4]差别很大,其实这就是一个藏在map()函数与parseInt()函数中的隐形坑。上面的代码实际与下面的代码等效:parseInt()函数接收的第二个参数实际为数组的索引值,所以实际处理的过程如下所示。任何整数以0为基数取整时,都会返回本身,所以第一行代码会返回“1”。第二行代码parseInt(‘2’, 1),因原创 2022-12-21 14:57:47 · 705 阅读 · 1 评论 -
一看就懂的vuex核心源码
Vuex是什么Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 + 库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。说白了,Vuex就是一个全局单例模式管理的仓库,里面存储着响应式的数据,任何组件都可以从仓库里面取到数据。其可预测表现在:更改只能通过Vuex来集中更改。通过定义和隔离状态管理中的各种概念并通过强制规则维持视图和状态间的独立性,代码将会变得更结构化且易维护。vuex的核心概念和使用方法点此直达官网:https://vuex.v原创 2022-05-25 17:51:47 · 280 阅读 · 0 评论 -
一文理解http缓存机制
HTTP报文浏览器的缓存机制也就是我们所说的HTTP缓存机制,是根据HTTP报文的缓存标识进行的。先了解下HTTP报文:请求报文报文格式:请求行 – 请求头(通用信息头,请求头,实体头) – 请求体(只有POST才有请求体)响应报文报文格式:状态行 – 响应头(通用信息头,响应头,实体头) – 响应体通用信息头指的是请求和响应报文都支持的头域:分别为Cache-Control、Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via;实体原创 2022-05-18 16:22:27 · 1744 阅读 · 0 评论 -
2022年JS新增小技巧
1. null判断运算符????类似于管道运算符||,但是表现上更为严格。const a = 0 || 1; // 1const b = 0 ?? 1; // 0区别:||运算符左边为假时(包括:null, undefined, ‘’, 0, false等),返回右边的值,否则返回左边的值??运算符只有左边为null或者undefined时才返回右边的值,否则返回左边的值。兼容性:2. 链式判断运算符?.const res = res.data ? res.data.list : []原创 2022-04-20 14:16:29 · 472 阅读 · 0 评论 -
JS判断对象是否为空的方法大全
JS判断对象是否为空的几种方法原创 2022-04-09 16:42:23 · 3031 阅读 · 0 评论 -
一看就懂的vue-router简版源码
1.Vue Router是什么?Vue Router 是 Vue.js 的官方路由。它与 Vue.js 核心深度集成,让用 Vue.js 构建单页应用变得轻而易举。功能包括:嵌套路由映射动态路由选择模块化、基于组件的路由配置路由参数、查询、通配符展示由 Vue.js 的过渡系统提供的过渡效果细致的导航控制自动激活 CSS 类的链接HTML5 history 模式或 hash 模式可定制的滚动行为URL 的正确编码2.Vue Router的使用方式安装: vue add rout原创 2022-04-07 16:47:02 · 1245 阅读 · 0 评论 -
javascript算法系列——树:二叉树和二叉查找树
二叉树的基本术语结点之间的关系若一个结点有子树,那么该结点称为子树根的双亲,子树的根称为该结点的孩子有相同双亲的结点互为兄弟一个结点的所有子树上的任何结点都是该结点的后裔从根结点到某个结点的路径上的所有结点都是该结点的祖先结点层:根结点的层定义为第一层,根的孩子为第二层,依此类推树的深度:树中最大的结点层结点的度:结点拥有的子树的个数树的度: 树中最大的结点度叶子结点:也叫终端结点,是度为 0 的结点分枝结点:度不为0的结点二叉查找树二叉查找树是一种 特殊的二叉树,相对较原创 2022-03-17 16:14:50 · 1456 阅读 · 0 评论 -
vue进阶:使用插件实现弹窗类组件
在之前的文章里,已经分析了怎么实现弹窗类组件,并且介绍了两种实现弹窗类组件的方式,分别是借助Vue构造函数和Vue的extend函数。想了解的可以先看我之前的文章:vue进阶:弹窗类组件实现方式插件插件是嘛?插件通常用来为 Vue 添加全局功能。我们vue项目中最常用的插件就是vue-router。vue插件和组件的诞生都是为了实现逻辑的复用,他们的本质都是对代码逻辑的封装,所以在一定程度上,组件可以封装成插件,插件也可以改写成组件。具体使用插件还是组件就要看项目中的实际使用场景了。Vue 插件和V原创 2022-03-14 15:05:32 · 1890 阅读 · 2 评论 -
javascript算法系列——树:二叉树(1)
二叉树二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。1.定义二叉树(binary tree)是指树中节点的度不大于2的有序树,它是一种最简单且最重要的树。二叉树的递归定义为:二叉树是一棵空树,或者是一棵由一个根节点和两棵互不相交的,分别称作根的左子树和右子树组成的非空树;左子树和右子树又同样都是二叉树。简单理解就是:二叉树的每个子节点都只有原创 2022-03-07 14:21:56 · 677 阅读 · 0 评论 -
antd v3升级v4过程全记录——比你想象更简单!
antd v4版本出来有一段时间了,今天打算升个级。参考官方文档升级说明1.升级准备先升级到 3.x 的最新版本,按照控制台 warning 信息移除/修改相关的 API。升级项目 React 16.12.0 以上如果你仍在使用 React 15,请参考 React 16 升级文档。其余 React 16 废弃生命周期 API 请参考 迁移导引。2.开始升级可以手动对照上面的列表逐条检查代码进行修改,但是没必要哇~官方提供了一个 codemod cli 工具 @ant-de原创 2020-10-22 14:13:17 · 3533 阅读 · 3 评论 -
javascript —— 变化莫测的【this】
写在前面知识就是力量。 ——安琪拉知识就是力量,但更重要的是运用知识的技能。 —— 培根本文主要介绍了JavaScript 中 this 关键词在不同环境中的指向问题。文末对三种修改this指向的方法做了描述和对比。this是什么?JavaScript this 关键词指的是它所属的对象。它拥有不同的值,具体取决于它的使用位置:在方法中,this 指的是所有者对象。单独的情况下,this 指的是全局对象。在普通函数中,非严格模式下,this 指的是全局对象;严格模式下,thi原创 2020-10-21 16:12:49 · 150 阅读 · 1 评论 -
JavaScript 类型化数组概要
JavaScript 类型化数组目录JavaScript 类型化数组【冷知识】写在前面一、何为类型化数组(Typed Arrays)?二、如何判断一个对象是否属于类数组 ?三、如何将类数组转化为数组 ?3.1 Array.prototype.slice的内部实现三、如何将数组转化为类数组 ?【冷知识】写在前面 类型化数组,即我们常说的类数组,类数组 —— 顾名思义长得像数组的东西(实质是个对象)。因此我们常用likeArray来定义它。 but but 其实,它的全名叫做类型化数组,英文对应Ty原创 2020-09-23 09:42:14 · 178 阅读 · 2 评论 -
axios:解决查询输入框从手机复制粘贴的值被编码导致查询失败的问题
场景:当用户从手机复制待查询的信息粘贴到form表单,使用axios进行get请求查询时问题描述:输入框中么有request URL后面的那一段编码。而且在axios请求拦截中也打印不出来这个编码字符,所以无法利用常规方法对编码字符进行解码,过滤。那么这个编码字符是什么时候加上的呢?请求前答应没有,但是路径确实存在。这个时候不妨打印一下请求url的length。打印length后发现,虽然字符么有显示出来,但是length却比手动输入的相同的手机号码多了一位(mac系统上是1位,windows原创 2020-09-07 17:58:50 · 360 阅读 · 0 评论 -
javascript中call()、apply()、bind()的用法与异同
其实是一个很简单的东西,认真看十分钟就从一脸懵B 到完全 理解!先看明白下面:例 1var name = '小王', age = 17;var obj = { name: '小张', objAge: this.age, myFun: function() { console.log(this.name + "年龄" + this.age) }}obj.objAge; // 17obj.myFun() // 小张年龄 undefined例 2var fav = '盲僧';原创 2020-09-04 14:12:21 · 142 阅读 · 0 评论