自定义博客皮肤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)
  • 收藏
  • 关注

原创 Javascript本地存储的方式有哪些?区别及应用场景?

作为一段一般不超过 4KB 的小型文本数据,它由一个名称(Name)、一个值(Value)和其它几个用于控制。,类型为「小型文本文件」,指某些网站为了辨别用户身份而储存在用户本地终端上的数据。对于存储较少量的数据很有用,但对于存储更大量的结构化数据来说,这种方法不太有用。并对其加密,其保存的信息很容易被窃取,导致安全风险。使用方法基本一致,唯一不同的是生命周期,一旦页面(会话)关闭,属性都是相同的才可以,其中有一个不同得时候都会创建出一个新的。的数据会自动的传递到服务器,服务器端也可以写。

2022-10-21 18:52:02 274 1

原创 什么是BOM?常见的BOM对象有哪些?

其作用就是跟浏览器做一些交互效果,比如如何进行页面的后退,前进,刷新,浏览器的窗口发生变化,滚动条的滚动,以及获取客户的一些信息如:浏览器品牌版本,屏幕分辨率。传递了第二个参数,且该参数是已有窗口或者框架的名称,那么就会在目标窗口加载第一个参数指定的URL。保存的纯粹是客户端能力信息,也就是浏览器窗口外面的客户端显示器的信息,比如像素宽度和像素高度。当参数为整数数字的时候,正数表示向前跳转指定的页面,负数为向后跳转指定的页面。的历史记录,可以通过参数向前,向后,或者向指定。,也可以打开一个新的浏览器窗口。

2022-10-21 18:50:21 3243

原创 DOM常见的操作有哪些?

日常前端开发,我们都离不开DOM操作在以前,我们使用Jquery,zepto等库来操作DOM,之后在vue,Angular,React等框架出现后,我们通过操作数据来控制DOM(绝大多数时候),越来越少的去直接操作DOM但这并不代表原生操作不重要。相反,DOM操作才能有助于我们理解框架深层的内容下面就来分析DOM常见的操作,主要分为: 创建节点 查询节点 更新节点 添加节点 删除节点

2022-10-21 18:43:04 1374

原创 什么是事件循环?

从上面我们可以看到,同步任务进入主线程,即主执行栈,异步任务进入任务队列,主线程内的任务执行完毕为空,会去任务队列读取对应的任务,推入主线程执行。出现分歧的原因在于异步任务执行顺序,事件队列其实是一个“先进先出”的数据结构,排在前面的事件会优先被主线程读取。宏任务的时间粒度比较大,执行的时间间隔是不能精确控制的,对一些高实时性的需求就不太符合。同步任务:立即执行的任务,同步任务一般会直接进入到主线程中执行。这时候,事件循环,宏任务,微任务的关系如图所示。异步任务:异步执行的任务,比如。

2022-10-21 18:39:45 243

原创 bind、call、apply 区别?如何实现一个bind?

方法中,在定时器中是作为回调函数来执行的,因此回到主栈执行时是在全局执行上下文的环境中执行的,这时候。的指向,后面传入的也是一个参数列表(但是这个参数列表可以分多次传入)作用是改变函数执行时的上下文,简而言之就是改变函数运行时的。的指向,第二个参数是函数接受的参数,以数组的形式传入。指向后原函数会立即执行,且此方法只是临时改变。指向后原函数会立即执行,且此方法只是临时改变。的指向,后面传入的是一个参数列表。接受两个参数,第一个参数是。对象,这时候就需要该改变。同样的,当第一个参数为。方法的第一个参数也是。

2022-10-21 16:20:56 292

原创 如果要做优化,CSS提高性能的方法有哪些?

每一个网页都离不开css,但是很多人又认为,css主要是用来完成页面布局的,像一些细节或者优化,就不需要怎么考虑,实际上这种想法是不正确的作为页面渲染和内容展现的重要环节,css影响着用户对整个网站的第一体验因此,在整个产品研发过程中,css性能优化同样需要贯穿全程#css实现性能的方式可以从选择器嵌套、属性特性、减少http这三面考虑,同时还要注意css代码的加载顺序#

2022-10-20 11:31:11 93

原创 什么是闭包?闭包使用场景?

缺点是闭包会常驻内存,会增大内存使用量,使用不当很容易造成内存泄露。创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个。使用闭包主要是为了设计私有的方法和变量。闭包的优点是可以避免全局变量的污染,使用闭包可以在 JavaScript 中模拟块级作用域。函数的局部变量,利用闭包可以突破作用链域。函数即闭包,只有函数才会产生作用域的概念。也就是说,闭包让你可以在一个内层函。闭包可以用于在对象中创建私有变量。数中访问到其外层函数的作用域。

2022-10-20 11:20:47 198

原创 typeof 与 instanceof 区别

可以准确地判断复杂引用数据类型,但是不能正确判断基础数据类型。可以看到,上述两种方法都有弊端,并不能满足所有场景的需求。的基本用法,下面就实现一个全局通用的数据类型判断方法。操作符返回一个字符串,表示未经计算的操作数的类型。也就是顺着原型链去找,直到找到相同的原型对象,返回。也存在弊端,它虽然可以判断基础数据类型(表示对象或原始值的表达式,其类型将被返回。之后返回的是有问题的结果,不能作为判断。除外),但是引用数据类型中,除了。同时,可以发现引用类型数据,用。类型以外,其他的也无法判断。

2022-10-20 11:11:55 88

原创 JavaScript中的数据类型?存储上的差别?

基本数据类型:undefined、null、boolean、number、string、symbol。引用类型的对象赋值,是将保存对象的内存地址赋值给另一个变量。当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还。引用类型的对象存储于堆中每个堆内存对象都有对应的引用地址指向它,引用地址。除了上述说的三种之外,还包括Date、RegExp、Map、Set等。基本数据类型赋值,是生成相同的值,两个对象对应不同的地址。,在栈中存放的是对应的值。基本数据类型存储在栈中。

2022-10-20 11:06:34 232

原创 什么是前端工程师?未来前景怎么样?

UI。

2022-10-20 10:40:23 764

原创 什么是响应式设计?响应式设计的基本原理是什么?如何做?

CSS3中的增加了更多的媒体查询,就像if条件表达式一样,我们可以设置不同类型的。比如当浏览器的宽度或者高度发生变化时,通过百分比单位,可以使得浏览器中的组件。可以利用前面提到的媒体查询,针对不同设备分辨率改变font-size的值。媒体条件,并根据对应的条件,给相应符合条件的媒体调用相对应的样式表。响应式设计的基本原理是通过媒体查询检测不同的设备屏幕尺寸做处理。使用@Media查询,可以针对不同的媒体类型定义不同的样式。的宽和高随着浏览器的变化而变化,从而实现响应式的效果。

2022-10-20 10:30:42 282

原创 怎么理解回流跟重绘?什么场景下会触发?

offsetLeft、scrollTop、getComputedStyle等)也会引起回流。回流:回流这一阶段主要是计算节点的位置和几何信息,那么当页面的布局(如:尺寸、重绘:当计算好盒模型的位置、大小及其他属性后,浏览器根据每个盒子特性进行绘制。重绘:当渲染树中的元素外观(如:颜色)发生改变,不影响布局时,产生重绘。回流:布局引擎会根据各种样式计算每个盒子在页面上的大小与位置。位置、隐藏/状态状态)发生改变时,产生重绘回流。回流计算最新值,触发回流一定会触发重绘。,JS获取Layout属性值(如。

2022-10-20 10:29:51 134

原创 元素水平垂直居中的方法有哪些?如果元素不定宽高呢?

设置父元素为display:table-cell,子元素设置 display: inline-block。display: flex时,表示该容器内部的元素将按照flex进行布局。display: grid时,表示该容器内部的元素将按照grid进行布局。父级设置为相对定位,子级绝对定位 ,并且四个定位属性的值都设置了0,这里子元素设置了宽高,所以宽高会按照我们的设置来显示,但是实际上子级。知道元素宽高大小能实现水平垂直居中的方法有。父级设置为相对定位,子级绝对定位。父级设置为相对定位,子级绝对定位。

2022-10-20 10:28:47 76

原创 css选择器有哪些?优先级?哪些属性可以继承?

子选择器(.one>one_1),选择父元素为.one的所有.one_1的元素。相邻同胞选择器(.one+.two),选择紧接在.one之后的所有.two元素。后代选择器(#box div),选择id为box元素内部所有的div元素。群组选择器(div,p),选择div、p的所有元素。类选择器(.one),选择类名为one的所有元素。标签选择器(div),选择标签为div的所有元素。id选择器(#box),选择id为box的元素。层次选择器(p~ul),选择前面有p元素的每个ul元素。

2022-10-20 10:27:53 83

原创 什么是盒子模型?

border-box 元素的 width/height 包含 padding,border,与怪异盒子模型表现一。盒子模型由内容(content)、填充(padding)、边界(margin)、 边框(border)构成。盒子模型有两种:W3C标准盒子模型,IE 怪异盒子模型,IE的content部分把 border。盒子总宽度 = width + padding + border + margin;计算了进去,默认情况下,盒子模型为W3C 标准盒子模型。盒子总高度 = height + margin;

2022-10-20 10:25:53 93

原创 MongoDB

概念:MongoDB 是一个基于分布式文件存储的数据库,由 C++ 语言编写,是一个开源数据库系统。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的关系型数据库(MySQL):特征:采用关系模型来组织数据的数据库最大特点就是事务的一致性关系型数据库指的就是二维表格模型12345优点:易理解,使用方便,易于维护1缺点:消耗大量的性能影响写读固定的表结构12345非关系型数据库(mon

2022-01-26 20:36:33 51

原创 django中,‘gbk‘ codec can‘t decode byte 0xa6 in position 9737: illegal multibyte sequence问题

'gbk' codec can't decode byte 0xa6 in position 9737: illegal multibyte sequence相信用django的同学,不管是新手还是老手,对这行报错再熟悉不过了吧。刚接触的时候我看到这个也很懵逼,到处查原因,stackoverflow什么的也翻烂了。后来慢慢用的多了,就明白了,小白们听好了,这个不是什么奇怪的错误,就是你语法写错了,具体哪里错了,你要把terminal往上翻就可以看到了。具体一点,假如你用的是pycharm的话,点击te

2022-01-25 20:51:12 1001

原创 解决 Vue 重复点击相同路由,出现 Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation 问题

问题描述:重复点击导航时,控制台出现报错 ,虽然不影响功能使用,但也不能视而不见。解决方案:方案一:只需在 router 文件夹下,添加如下代码:// src/router/index.jsVue.use(Router)const router = new Router({ routes}) const VueRouterPush = Router.prototype.pushRouter.prototype.push = function push (to) { return V

2022-01-24 23:34:05 660

原创 python--FastDFS客户端与自定义文件存储系统

1. FastDFS的Python客户端python版本的FastDFS客户端使用说明参考https://github.com/jefforeilly/fdfs_client-py安装安装提供给大家的fdfs_client-py-master.zip到虚拟环境中安装 fdfs_client_py 会有问题!!!解决1.解压后的fdfs_client-py-master\fdfs_client 目录下的storage_client.py屏蔽第12行 # from fdfs_client.sen

2022-01-23 23:08:03 379

空空如也

空空如也

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

TA关注的人

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