自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 前端面试之浏览器原理篇

浏览器原理篇

2023-02-20 22:39:29 547

原创 前端面试题之webpack

webpack

2023-02-20 22:38:36 908

原创 前端面试集合之react

react八股文,记住你就是高级

2023-02-20 22:36:09 908

转载 常见 web 安全问题总结

1、SQL 注入SQL注入攻击的核心在于让Web服务器执行攻击者期望的SQL语句,以便得到数据库中的感兴趣的数据或对数据库进行读取、修改、删除、插入等操作,达到其邪恶的目的。而如何让Web服务器执行攻击者的SQL语句呢?SQL注入的常规套路在于将SQL语句放置于Form表单或请求参数之中提交到后端服务器,后端服务器如果未做输入安全校验,直接将变量取出进行数据库查询,则极易中招。举例如下:对于一个根据用户ID获取用户信息的接口,后端的SQL语句一般是这样:selectname,[..

2021-10-30 12:44:15 399

转载 npm & yarn 包管理机制

背景使用 npm 或 yarn 管理项目依赖时,可能会产生以下疑问:项目依赖出现问题怎么办?删了重装,即先删除 node_modules 再重新 install,那这样的操作会不会存在风险? 把所有依赖都安装到 dependencies 中,不区分 devDependencies 会有问题吗? 我们的应用依赖了 pkg-a 和 pkg-b,同时 pkg-a 也依赖了 pkg-b,那么 pkg-b 会被多次安装或重复打包吗? 一个项目中,我使用 npm 别人使用 yarn,这会引发什么问题?

2021-09-16 10:32:15 429

转载 几种垃圾回收算法

垃圾回收GC的全拼是 Garbage Collection 其在维基百科的定义是: 在计算机科学中,垃圾回收(英语:Garbage Collection,缩写为GC)是一种自动的内存管理机制。当一个电脑上的动态内存不再需要时,就应该予以释放,以让出内存,这种内存资源管理,称为垃圾回收(garbage collection)垃圾回收算法有多种,先看看几个评价垃圾回收算法性能的几个方面,再具体看看各种算法的优缺点吞吐量 throughput 最大暂停时间 堆使用效率 访问的局部性一、 标记-清除

2021-08-28 14:44:58 864

转载 实现一个完美符合Promise/A+规范的Promise

简要介绍:Promise允许我们通过链式调用的方式来解决“回调地狱”的问题,特别是在异步过程中,通过Promise可以保证代码的整洁性和可读性。本文主要解读Promise/A+规范,并在此规范的基础上,自己实现一个Promise.一、Promise的使用在了解Promise规范之前,我们知道主流的高版本浏览器已经支持ECMA中的Promise.创建一个promise实例:var p=new Promise(function(resolve,reject){ setT...

2021-08-28 09:56:16 217

原创 重汇与回流

比如我们增删DOM节点,修改一个元素的宽高,页面布局发生变化,DOM树结构发生变化,那么肯定要重新构建DOM树,而DOM树与渲染树是紧密相连的,DOM树构建完,渲染树也会随之对页面进行再次渲染,这个过程就叫回流。当你给一个元素更换颜色,这样的行为是不会影响页面布局的,DOM树不会变化,但颜色变了,渲染树得重新渲染页面,这就是重汇。重汇与回流的区别:结合上面的解释,引起DOM树结构变化,页面布局变化的行为叫回流,且回流一定伴随重绘。只是样式的变化,不会引起DOM树变化,页面布局变化的行

2021-08-24 19:36:01 850

原创 computed 和 watch 的区别是什么?

当我们需要从data的数据中,经过一系列的操作,得到一条新数据,同时不改变data中的原数据时,可以使用computed 计算属性,watch一般用于侦听data或props数据的变化 只要是computed能完成的功能,watch就可以完成;watch能完成的,computed不一定能完成 computed不支持异步,无法监听异步操作数据的变化;watch可以进行异步操纵 computed支持缓存,只有依赖数据发生改变,才会重新进行计算; watch不支持缓存,数据变,直接会触发相应的操作 c..

2021-08-24 19:27:12 219

转载 关于Vue v-for中的:key作用

之前项目有个功能,数据间有三层关系,通过3个 v-for实现,渲染页面元素的时候,出现错乱的情况,有点抓瞎。感觉和虚拟DOM有点关系,重新研究VUE 官方文档,同时参考网上内容,整理如下:其实不只是vue、react中在执行列表渲染时也会要求给每个组件添加上key这个属性。要解释key的作用,不得不先介绍一下虚拟DOM的Diff算法了。我们知道,vue和react都实现了一套虚拟DOM,使我们可以不直接操作DOM元素,只操作数据便可以重新渲染页面。而隐藏在背后的原理便是其高效的Diff算法。

2021-08-24 19:04:30 112

原创 贪吃蛇小游戏

<!doctype html><html><body><!-- Canvas 画布 --><canvas id="can" width="400" height="400" style="background:Black"></canvas><script>var snake = [42], //初始化位置dz = 43, //食物fx = 1,n,ctx = document..

2021-07-20 09:42:57 341 1

原创 如何使用Vue实现模糊搜索实例:

<body> <div id="root"> <input type="text" placeholder="请输入要查询的姓名" v-model="keyWord"> <ul> <li v-for="(value,index) in filPersons" :key="value.id"> {{value.name}}-{{value.age}} </li>...

2021-07-20 09:39:03 316

原创 函数防抖与函数节流

函数防抖(debounce)概念:就是指触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间。简单的说,当一个动作连续触发,则只执行最后一次。常见实用场景,有滚动加载、搜索框输入、窗口大小拖拽 Resize。函数防抖的应用场景(连续的事件,只需触发一次回调):搜索框搜索输入。只需用户最后一次输入完,再发送请求 手机号、邮箱验证输入检测 窗口大小Resize。只需窗口调整完成后,计算窗口大小。防止重复渲染。为什么需要函数防抖: 前端开

2021-07-09 11:32:01 91

原创 this的几种使用场景

1、全局中的this当this不在任何函数内部时,this始终是指向全局对象说明:在浏览器中,全局对象是window 在Nodejs中,全局对象是Global例:console.log(this)2、普通函数中的this普通函数,指的是直接通过函数名()调用的函数,都是普通函数普通函数中的this,始终指向全局对象;例function fn(){console,log(this)}const bar=function(){console,l..

2021-07-07 20:10:18 1884

空空如也

空空如也

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

TA关注的人

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