自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 css3 动画

首先注意两个点,一个是@keyframes,另一个是animation@keyframes@keyframes 实际上就是创建一个动画,该动画内指定了动画由目前的样式更改为新的样式。例如:@keyframes changeColor{ from {background: red;} to {background: yellow;}}当在@keyframes创建动画,把它绑定到一个选择器,否则动画不会有任何效果。指定至少这两个CSS3的动画属性绑定向一个选择...

2021-08-14 21:35:05 127

原创 浏览器的缓存

待整理

2021-08-03 10:44:05 91

原创 Vue-router的history和hash

待整理

2021-07-23 22:38:45 484

原创 力扣695.岛屿的最大面积

今天做这道题遇到一个栈溢出的报错,一脸懵逼。代码如下var maxAreaOfIsland = function(grid) { let len=grid.length let wid=grid[0].length let dfs=function(i,j){ if (i-1>=0 && grid[i-1][j]===1) { res++ dfs(i-1,j) }...

2021-06-24 11:20:59 153

原创 力扣947:和可被K整除的子数组

此题可用前缀和的思想来集体,所谓的前缀和就是用一个变量或者数组来储存数组sum的前x项和,而sum[i]-sum[j]即为第j+1项到第ixiang

2021-06-18 21:20:51 173

原创 前端安全问题

1.XSS攻击(跨站脚本攻击)攻击者将可执行代码植入网页。例如可以在评论页面插入代码: <script>alert('你被攻击了')</script>危害性:用户的数据可能被窃取 强行改变程序的执行方式分类:反射型XSS(非持久型) 攻击步骤:攻击者构造出特殊的 URL,其中包含恶意代码。 用户打开带有恶意代码的 URL 时,网站服务端将恶意代码从 URL 中取出,拼接在 HTML 中返回给浏览器。 用户浏览器接收到响应后解析执行,混在

2021-06-17 16:16:31 134

原创 防抖节流

1.防抖概念:持续触发事件时,一定时间内未触发事件才会执行函数。适合的应用场景:input输入实现防抖函数:functiondebounce(fn,delay){lettimer=nullreturnfunction(){if(timer){clearTimeout(timer)}...

2021-06-17 16:14:57 78

原创 事件的捕获与冒泡

1.事件流事件流描述的就是从页面中接收事件的顺序。但是IE和网景公司提出了完全不同的事件流概念,IE的事件流是事件冒泡。而网景公司提出了事件捕获。2.事件冒泡IE提出的事件冒泡实际上就是事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的节点(文档)。举个例子,如下图,实际上就是如果点击3盒子,他的事件流顺序是3,2,1,body,html,document。3.事件捕获网景公司提出的事件捕获与事件冒泡相反,它是从不太具体的节点到最具体的节点。

2021-06-17 16:13:59 131

原创 vue底层原理-AST抽象语法树实现思路

1.为什么要使用抽象语法树在开发Vue的时候编译器会将模板语法编译成正常的HTML语法,而直接编译的时候是非常困难的,因此此时会借助AST抽象语法树进行周转,进而变为正常的HTML语法,使编译工作变得更加简单。抽象语法树实际上就是一个对象。vue将模板语法视为普通的字符串,并将其解析为JS对象。例:2.抽象语法树与虚拟DOM之间的关系抽象语法树的终点是渲染函数(h函数)。渲染函数(h函数),它既是AST的产物,也是vnode(虚拟节点)的起源。h函数里面是不含指令的。

2021-06-17 16:12:14 620

原创 js实现堆排序

堆,大顶堆堆是一种特殊的完全二叉树,使用数组存储二叉树时,若某个非叶子节点存储在下标为i的位置,其左右孩子节点分别存储在下标为2i+1和2i+2的位置。堆可以分为大顶堆和小顶堆,对大顶堆来说,任意非叶子节点不小于其左右孩子节点,对于小顶堆来说,任意非叶子节点不大于其左右孩子节点。若使用数组存储大顶堆,则满足:arr[i] >= arr[2i+1] && arr[i] >=arr[2i+2](i为非叶子节点的在数组中的下标)使用上述性质即可实现一个大顶堆:实际上最核

2021-06-15 21:21:11 91

原创 CSS问题总结(补充中)

BFS:https://juejin.cn/post/6844903495108132877定位方式:http://haiyunyuan.cn:5000/posts/60b0ab13ac6d231e927cb8e3

2021-06-15 21:20:23 73

原创 最简单的模板函数

用正则实现最简单的mustach语法:letdata={a:1,b:2}letstr='thisisa={{a}},thisisb={{b}}'functiontemplate(str,data){returnstr.replace(/\{\{(\w+)\}\}/g,function(findStr,$1){...

2021-06-15 21:19:13 91

原创 JS执行机制

JS是单线程的最初设计JS是用来在浏览器验证表单操控DOM元素的是一门脚本语言,如果js是多线程的,那么两个线程同时对一个DOM元素进行了相互冲突的操作,那么浏览器的解析器是无法执行的。所以JS在设计之初便被设计为单线程的。但是如果只是同步的自上而下执行代码,在前面的代码耗时较长是就会出现阻塞的问题,会影响用户体验,如此便催生出了异步。JS的异步实际上是通过事件循环来实现的。事件循环(event loop)首先明确宏任务与微任务。宏任务包含整个script代码块,setTimeout, s.

2021-06-15 21:18:18 77

原创 继承

1.原型链继承基本思想是利用原型链让一个引用类型继承另一个引用类型的属性和方法。实际的实现方式就是让子类的原型指向父类的实例对象functionAnimal(){this.color='red'this.play=['跑','跳','走']}functionDog(){}Dog.prototype=newAnimal()原型链继承的优点:...

2021-06-15 21:17:17 87

原创 浅拷贝与深拷贝

赋值:当我们把一个对象赋值给一个新的变量时,赋的其实是该对象的在栈中的地址,而不是堆中的数据。也就是两个对象指向的是同一个存储空间,无论哪个对象发生改变,其实都是改变的存储空间的内容,因此,两个对象是联动的浅拷贝:按位拷贝对象,它会创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型,拷贝的就是基本类型的值;如果属性是内存地址(引用类型),拷贝的就是内存地址 ,因此如果其中一个对象改变了这个地址,就会影响到另一个对象。即默认拷贝构造函数只是对对象进行浅拷贝复制(逐个成员依

2021-06-15 21:16:04 88

原创 原型链

每个函数都有一个 prototype 属性 每一个js对象(null除外)在创建的时候就会与之关联另一个对象,这个对象就是我们所说的原型,每一个对象都会从原型”继承”属性。 每一个js对象(除了 null )都具有的一个属性,叫_ _proto__,这个属性会指向该对象的原型 每个原型都有一个 constructor 属性指向关联的构造函数 实例原型指向构造函数查找特定属性的时候,我们先去这个对象里去找,如果没有的话就去它的原型对象里面去,如果还是没有的话再去向原型对象的原型对象里去寻找......

2021-06-15 21:14:35 64

原创 闭包

js高级程序设计:闭包是指有权访问另外一个函数作用域中的变量的函数你不知道的js:当函数可以记住并访问所在的词法作用域时,就产生了闭包,即使函数是在当前词法作用域之外执行。闭包产生的原因在ES5中只有两种作用域就是全局作用域和函数作用域。当访问一个变量时,解释器会首先在当前作用域查找标示符,如果没有找到,就去父作用域找,直到找到该变量的标示符或者不在父作用域中,这就是作用域链。而如果当前环境中存在着指向父级作用域的引用,就会产生闭包。常见的形式作为函数返回值...

2021-06-15 21:12:53 86

原创 作用域 作用域链 执行环境

是什么一句话概括可以说,作用域是可访问变量的集合。作用域是在运行时代码中的某些特定部分中变量,函数和对象的可访问性。换句话说,作用域决定了代码区块中变量和其他资源的可见性。作用域就是一个独立的地盘,让变量不会外泄、暴露出去。也就是说作用域最大的用处就是隔离变量,不同作用域下同名变量不会有冲突全局作用域和函数作用域全局作用域:在代码最外侧声明的变量 未定义直接赋值的变量 window对象的属性vara=1//最外层声明,全局变量f...

2021-06-15 21:10:23 132

原创 cookie,session等的区别

cookiecookie非常小,它的大小限制为4KB左右。它的主要用途有保存登录信息,比如你登录某个网站市场可以看到“记住密码”,这通常就是通过在 Cookie 中存入一段辨别用户身份的数据来实现的。cookie的缺点:存储空间很小,只有4kb,存储数量限制,一般一个站点只能有20个cookie 用户可以操作(禁用或者修改删除)cookie,使功能受限 安全性较低 每次访问都要传送cookie给服务器,浪费带宽,如果保存过多数据影响性能。sessionsession保存在服务器.

2021-06-15 20:38:24 68

空空如也

空空如也

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

TA关注的人

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