自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 前端性能优化总结

性能优化加载相关为什么强调把css放在header中,js放在尾部?加载相关为什么强调把css放在header中,js放在尾部?因为构建Render树需要DOM和CSSOM树,所以HTML和CSS都会阻塞渲染。所以需要css尽早加载(放在头部),以缩短首次渲染的时间。除此之外,由于css不会阻塞文档的解析,但是会阻塞文档渲染。把CSS放在头部,可以先生成CSSOM树,后续渲染DOM的时候,可以一次性构建Render树,只需要渲染一次;如果把CSS放在后面,会先解析一次DOM,加载CSS之后,会重

2020-10-18 14:58:01 442 1

原创 (1)关于this指向问题

关于this指向问题一.new的实现原理是什么?在js中,只要new一个函数,就会new一个对象。 对于new创建的对象 var arr =new Array()new的实现原理(new的过程 4步骤)在内存中创建一个空对象;将构造函数的作用域给新对象(this指向这个新对象)执行构造函数中的代码(为这个新对象添加看属性)如果构造函数中没有返回其他对象,则返回this,即创建的这个新对象;否则,返回构造函数中返回的对象。手写实现new操作符 // new的实现

2020-10-01 15:41:03 246

原创 cookie,localStorage ,sessionStorage理解和区别

cookie,localSorage,sessionStorage的理解和区别理解1.共同点:cookie,sessionStorage,localStorage都是保存在浏览器端的,并且都是同源的。2.Cookie: cookie数据始终在同源http请求中携带,在浏览器和服务器端来回传递。而sessionStorage和localStorage是不会自动把数据发给服务器的,仅在本地保存。cookie数据还有路径(path)概念,可以进行限制。cookie只属于某个路径下,存储数据大小限制也不同

2020-05-31 22:13:37 296

原创 js原型 原型链相关内容

如何理解原型和原型链的?所有的函数数据类型都天生自带一个prototype属性,该属性的属性值是一个对象prototype的属性值中天生自带一个constructor属性,其constructor属性值指向当前原型所属的类所有的对象数据类型,都天生自带一个_proto_属性,该属性的属性值指向当前实例所属类的原型把所有的对象共用的属性全部放在堆内存的一个对象(共用属性组成的对象),然后让每一个对象的 __proto__存储这个「共用属性组成的对象」的地址。而这个共用属性就是原型,原型出现的目的就是为

2020-05-31 18:33:32 110

原创 网络总结归纳(二)HTTP

网络归纳总结:一、http:http是超文本传输协议。超文本可以将多种文本/图像等进行混合,更重要的是可以从一个文本跳转到另一个文本,而对于传输则就是沟通。http他有不同的版本0.9 这个版本相对简单,采用纯文本格式,而且设置为只读,所以只能使用get方法从服务器获取html文件,响应以后就直接关闭,响应中只包含了文档本身,没响应头,无错误吗,无状态码。响应过程:应用层的http建立在传输层tcp之上并运用tcp可靠性等特性,先三次握手建立连接,客户端请求建立连接,服务端响应请求,数据以asci

2020-05-30 23:59:06 115

原创 浏览器:从URL输入到网页呈现的过程中,发生了什么?

基础版本:1.浏览器会根据请求的URL交给DNS域名解析,找到真实的ip,向服务器发起请求。2.服务器交给后台处理后返回数据,浏览器接受文件(HTML,JS,CSS,图像等);3.浏览器对加载到的资源(HTML,JS,CSS等)进行语法解析,建立相对应的内部数据结构(如:HTML的DOM);4.载入解析到的资源文件,渲染页面,完成。完善版1.从浏览器接受url到开启网络请求线程(浏览器的机制以及线程之间的关系)2.开启网络线程到发出一个完整的http请求(涉及dns查询,tcp/ip请求,5

2020-05-30 18:57:19 394

原创 谈谈闭包

闭包一个最初看到就会头疼的东西,通过总结学习,将我所理解的闭包写下这篇博客。什么是闭包?

2020-05-27 12:23:31 143

原创 js正则表达式RegExp总结篇

js正则表达式什么是正则表达式?一、校验数字的表达式1 数字:1*$2 n位的数字:^\d{n}$3 至少n位的数字:^\d{n,}$4 m-n位的数字:^\d{m,n}$5 零和非零开头的数字:^(0|[1-9][0-9]*)$6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7 带1-2位小数的正数或负数:^(-)?\d+(.\d{1,2})?$8 正数、负数、和小数:^(-|+)?\d+(.\d+)?$9 有两位小数的正实数:2+(.

2020-05-26 23:55:43 272

原创 关于数组位置方法中的indexOf()和lastIndexOf()参数问题的理解

indexOf()和lastIndexOf()的参数值最近在看红宝书,对于inedxOf()和lastIndexOf()的第二个参数一直没有理解,也上网查了很多,不同的解释和理解。于是总结一下我在查询后所理解的结果,如理解不正确,请大佬纠正指出,非常感谢!在解释第二参数之前,先总结一下这两个位置方法。indexOf() 表示从数组的开头(位置0)开始向后查找所要查询的内容。lastIndexOf() 表示从数组的末尾开始向前查找所要查询的内容。这两个位置方法:(1)都接收两个参数(第一个参数:要

2020-05-25 14:41:09 2497 2

原创 如何理解js中的垃圾回收机制?

js中的垃圾回收机制必要性:由于字符串、对象和数组没有固定大小,所有当他们的大小已知时,才能对他们进 行动态的存储分配。JavaScript 程序每次创建字符串、数组或对象时,解释器都必须分配内存 来存储那个实体。只要像这样动态地分配了内存,最终都要释放这些内存以便他们能够被再用, 否则,JavaScript 的解释器将会消耗完系统中所有可用的内存,造成系统崩溃。这段话解释了为什么需要系统需要垃圾回收,JS 不像 C/C++,他有自己的一套垃圾回收机制 (Garbage Collection)。J

2020-05-23 14:17:41 239

原创 关于跨域相关知识整理

跨域同源策略:所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。同源策略的限制:1.Cookie、LocalStorage 和 IndexDB 无法读取2.DOM 和 Js对象无法获得3.AJAX 请求不能发送跨域解决方案:通过jsonp跨域document.domain + iframe跨域location.hash + iframewindow.na

2020-05-21 17:38:51 151

原创 关于cookie,localStorage ,sessionStorage

localSorage,sessionStorage以及cookie之间的区别

2020-05-21 13:35:17 259

原创 es6新特性有哪些

ES6特性你了解多少? 如果遇到一个东西不知道是ES6还是ES5,你改如何区分?1、常用的es6新特性:let && const;let 命令也用于声明对象,但是作用域为局部;iterable 类型。为了统一集合类型,ES6 标准引入了新的 iterable 类型,Array、Map 和 Set 都属于 iterable 类型,具有 iterable 类型的集合可以通过新的for … of 循环来遍历。2、es6 比 es5 增加了很多特殊的方法,如果你遇到了这些特殊的方法, 你就可以

2020-05-09 21:44:24 28899

原创 关于HTTP状态码之301 302 304

301、302、304301 Moved Permanently 永久移动。是指请求的资源已被永久的移动到新的URL,返回信息会包括新的URL,浏览器还会自动定向到新的URL。今后任何新的请求都应该使用新的URL来代替。302 Found 临时移动。与301类似。但是资源只是临时被移动。客户端应该继续使用原有的URI304 Not Modified 未修改。所请求的资源未修改,服务器返回此...

2020-04-20 23:43:10 5117

原创 网络总结归纳(一)

一、cookie,session,token二、get,post三、tcp,udp四、三次握手,四次挥手五、网络7层 / 5层 结构

2020-04-20 22:34:34 354

原创 操作系统归纳总结

跨域同源策略:所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。同源策略的限制:1.Cookie、LocalStorage 和 IndexDB 无法读取2.DOM 和 Js对象无法获得3.AJAX 请求不能发送跨域解决方案:通过jsonp跨域doc...

2020-04-09 20:59:17 312

原创 DOM事件流,事件冒泡,事件捕获,事件委托,事件监听

如何理解原型和原型链的?所有的函数数据类型都天生自带一个prototype属性,该属性的属性值是一个对象prototype的属性值中天生自带一个constructor属性,其constructor属性值指向当前原型所属的类所有的对象数据类型,都天生自带一个_proto_属性,该属性的属性值指向当前实例所属类的原型把所有的对象共用的属性全部放在堆内存的一个对象(共用属性组成的对象),然后让每...

2020-04-07 23:33:39 221

原创 安全防范 XSS 、CSRF、SSRF

XSS 简单点来说,就是攻击者想尽一切办法将可以执行的代码注入到网页中。XSS 可以分为多种类型,但是总体上我认为分为两类:持久型和非持久型。持久型也就是攻击的代码被服务端写入进数据库中,这种攻击危害性很大,因为如果网站访问量很大的话,就会导致大量正常访问页面的用户都受到攻击CSRF 中文名为跨站请求伪造。原理就是攻击者构造出一个后端请求地址,诱导用户点击或者通过某些途径自动发起请求。如果用...

2020-04-01 23:34:38 994

原创 关于JS事件循环

JS事件循环浏览器的主要组件包括调用堆栈,事件循环,任务队列和Web API。像setTimeout,setInterval和Promise这样的全局函数不是JavaScript的一部分,而是 Web API 的一部分。JS调用栈是后进先出(LIFO)的。引擎每次从堆栈中取出一个函数,然后从上到下依次运行代码。每当它遇到一些异步代码,如setTimeout,它就把它交给Web API。因此,每...

2020-03-30 23:14:40 94

原创 关于js运行机制

js运行机制js是个单线程的语言,所以如果说遇到setTimeout、setInterval、ajax请求等需要停顿的语句,就停下来等这个停顿时间过去的话,语言的运行就阻塞在这里了。所以说,js就想了个办法,那就是我遇到setTimeout这样停顿类的语句,不管你停顿多久吧(可能是停顿0),都一律跳过去,等那些不需要停顿的语句执行完了,再回过头来执行需要等待的语句。“js引擎单线程执行的,它是...

2020-03-29 21:53:05 88

原创 关于深拷贝、浅拷贝

深拷贝、浅拷贝浅克隆:只是拷贝了基本类型的数据,而引用类型数据,复制后也是会发生引用,我们把这种拷贝叫做“(浅复制)浅拷贝”,换句话说,浅复制仅仅是指向被复制的内存地址,如果原地址中对象被改变了,那么浅复制出来的对象也会相应改变。深克隆:创建一个新对象,属性中引用的其他对象也会被克隆,不再指向原有对象地址。JSON.parse、JSON.stringify()...

2020-03-24 23:40:24 80

原创 css3新特性

css3动画css3画三角形

2020-03-21 23:58:35 143

原创 rem是如何实现自适应布局的?

移动端适配问题的解决

2020-03-20 23:24:19 116

原创 关于px em rem 以及其如何处理移动端的适配问题

px em rem vw vh的区别

2020-03-17 21:18:51 239

原创 两栏布局和三栏布局的各种解决方案

关于这个问题,可以算是前端面试中的必考题,写这篇博客的目的也是便于更好复习和回顾,同时也希望可以帮到更多的人。

2020-03-16 13:10:24 121

原创 css布局 (关于BFC布局、Flex布局、Grid布局)总结整理

css布局BFC (BFC是指块级格式上下文)产生BFC的方法BFC可以解决哪些问题?常见面试题Flex布局什么是Flex布局?Flex布局模型Flex布局的属性为容器属性和元素属性两种:如何开启Flex布局?/Flex布局的使用容器属性(flex-container)元素属性(flex-items)Grid布局其他常见布局方式BFC (BFC是指块级格式上下文)(Formatting Contexts 是指格式化上下文)1.BFC所具有的特性(1). 是一个独立的渲染区域,与区域外部毫不相

2020-03-15 16:44:01 570

原创 元素的居中方式

涉及元素常见的居中方式(水平 垂直)以及浮动居中

2020-03-15 12:43:45 80

原创 浮动问题的解决方案(关于清除浮动问题的最全方法)

什么是浮动?卫生要清除浮动?清除浮动的6种解决方案及优缺点。

2020-03-15 00:00:24 391

原创 关于position的六种属性

css关于position的六种属性

2020-03-13 22:58:16 1749

原创 重排(回流)和重绘

1.dom的重排和重绘,两者的关系2.如何减少重绘和重排的次数

2020-03-11 22:11:28 217

原创 CSS优先级的计算方法

css优先级的比较

2020-03-10 23:53:51 411

原创 HTML5新特性复习整理

关于H5的新特新性标签增删8个语义化元素 header section footer aside nav main article figure内容元素 mark高亮progress进度新的表单控件calander date time email url search新的input类型 color date datetime...

2020-03-10 23:37:39 200

原创 JS中的数组的使用

数组的基本使用1.数组基础部分-数组的其他操作迭代方法3.关于 foreach,each,map参考掘金forEach参考掘金each参考掘金map在 JavaScript 中 为什么你应当使用 map 和 filter 来替代 forEach?参考掘金处理一个包含所有人的数组,以找出每个年龄小于 15 岁的人。当你需要将一个数组或一部分数组复制到一个新数组时,首选...

2020-03-02 21:11:53 206

原创 关于Axios

一.概念axios是一个基于promise的HTTP库,可以用在浏览器和node.js中。二.功能特点在浏览器中发送 XMLHttpRequest请求从在node.js 发送 http 请求支持 Promise API拦截请求和响应转换请求数据和响应数据取消请求自动转换 JSON 数据客户端支持防御 XSRF三.在项目中安装axios可直接在项目目录在安装axios的...

2020-02-08 03:09:22 134

原创 Git常用命令及Git分支

Git常用命令,Git分支git常用命令(1). git init 初始化git仓库(2). git add 添加文件(把指定文件存入暂存区stage)eg:git add ./index.htmleg: git ./ 把所有修改文件放入暂存区(3). 提交git commit -m"这次添加东西的说明"(提交到暂存区)git commit -am“添加东西的说明...

2020-02-04 03:44:41 147

原创 关于Glup

gulp ----项目工程化的工具一,作用:(1) 能够完成代码的压缩(2) 合并,复制,监听,ES6的代码转换,启动服务器等等二,gulp 使用步骤:搭建环境(1)安装nodeJS(2) 安装node的目的是为了测试npm (npm是nodeJS的包管理工具 全 称:nodeJS Package Manager)使用npm的原因:a.如果一个项目中使用的第三方js代码非常多,...

2020-02-03 22:15:17 215

原创 vue项目环境搭建所遇到的问题

本人vue项目框架搭建过程在删除框架之后所遇到的问题(第一次搭建成功的前提下)1如果本地在搭建环境执行如下步骤后,在执行vue init webpack hanjiaxm 的指令之后,出现错误(如下所示)则创建项目时,运行vue init webpack 项目名字,报错信息如下:vue-cli · Failed to download repo vuejs-templates/webp...

2020-02-03 03:53:42 376

原创 关于Git

Git简易教程1.Git简单介绍2.版本控制工具比较3.Git使用流程(1). 操作步骤(2).4.Git常用命令有人说过学会和掌握git是每个程序员的必备技能,根据本人对git的一些学习,现将git的一些知识点进行归纳总结,主要目的是加深和巩固自己对git的知识掌握情况。(ps:如果有错误和不足欢迎评论补充)Git介绍git----分布式版本控制工具1.版本控制工具能够解决多...

2020-01-19 11:28:35 168

空空如也

空空如也

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

TA关注的人

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