自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 vue路由按需加载(路由懒加载)

vue的SPA(Single Page Application)应用里,当(webpack)打包构建时,会把所有的js打在一起,JavaScript 包会变得非常大,并在第一次请求时全部下载完毕,影响页面加载(性能)。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对...

2020-06-16 20:43:05 111 0

原创 async和await

一、解释 ES6 = ES2015 ES7= ES2016 async和await是ES7出现关键字,目的是彻底解决回调地狱,比Promise彻底。即就是:把异步的回调变成了同步的写法。 据说,async和await是回调地狱的终极解决方案。 async:异步 await:等待...

2020-05-03 22:10:00 229 0

转载 架构,框架,模式,模块、组件、插件的含义和区别

这篇文章看上去总结的不错,暂时没有时间阅读,先存起来,有空,我得看看要不要补充。 架构、框架、模式、模块、组件、插件、控件、中间件的含义和区别。经常看到这些概念,但是有些含糊,花点儿功夫整理一下,结果还是有些地方理解的不透彻,先将整理的内容写下来,以供交流。左侧英文栏中有些单词被分成了两半,放到...

2020-02-26 22:15:09 332 1

原创 面试题:vue实现双向数据绑定的原理(附源代码)

此面试题浅层次的解释在:前端面试题:vue 的双向数据绑定原理,v-model的源码 深层次,其实就是问你vue数据绑定的原理: 1、使用Object.defineProperty进行数据劫持,把data对象,computed等里的所有属性进行数据劫持。数据劫持的意思可以看:JavaScrip...

2020-02-20 22:27:18 538 0

原创 前后端分离情况下,如何联调项目

一、联调前:保证前后端各自没有问题。 后端用postman测试一下。 前端连接的jsonserver,保证数据格式和后端返回的数据格式一致。 二、前后端的计算机连在同一个局域网 可以在cmd 里,用命令 ping 对方的ip地址,来测试是否在同一个局域网里。 以下提示是正确的: ...

2020-02-16 19:15:08 1948 1

原创 webpack里如何配置反向代理,怎样配置反向代理,webpack配置反向代理(前后端联调),如何用反向代理解决跨域问题

反向代理 一、为啥要叫反向代理 正向代理隐藏真实客户端,反向代理隐藏真实服务端。 二、反向代理解决的问题 反向代理解决的就是跨域,在前后端联调的情况下,前端有服务器,后端也有服务器,那么联调时,就存在跨域问题 三、反向代理的原理 通过伪造请求使得http请求为同...

2020-02-16 19:07:00 715 0

原创 前端面试题:后台管理系统的权限怎么弄,如何根据权限展示不同的页面

简介: 后台管理系统中的权限管理是常见的问题,因为,后端管理牵扯到不同工作人员的职责和权限,所以,对于后台管理系统来说,不同的人员登录进入到系统后,看到的菜单(功能)是不一样的,这就是所谓的后台管理系统的权限。 一、后台管理系统的权限怎么弄(前端)? 1、首先后台管理系统的菜单...

2019-12-20 19:17:51 1662 1

原创 react路由时,不能正常渲染,需要刷新,才能渲染

删除你多余的BrowserRouter标签,整个项目中,写一个BrowserRouter 标签就行。 如在index.js里写了: 在App.js写了 去掉App.js里的BrowserRouter标签,改成如下: ...

2019-11-25 17:57:29 740 0

原创 ES6增加了扩展运算符: ... 三个点是ES几的

ES6 的扩展运算符( spread )是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。 将一个数组转为用逗号分隔的参数序列。 如下: let arr=[12,23,34]; function testf(){ var arr2 = [...arr...

2019-11-21 23:29:53 282 0

原创 什么是async,什么是await,async和await的区别,async和await的理解

ES6 作为多年来 JavaScript 的重大版本变革,受到 JavaScript 开发者们的普遍欢迎,也正是从 ES6 (ES2015) 开始,JavaScript 版本发布变为年更,即每年发布一个新版本,以年号标识版本 随着async/await正式纳入ES7标准,据说是异步编程终级解...

2019-11-19 18:22:06 451 6

原创 vue组件更新_引起组件更新的起因,什么会引发组件的更新

会不会引发vue中的组件更新,只要抓住:组件模板的显示结果会不会改变就行,如果显示结果会变,那就会更新组件,否则不会引发组件更新 一、数据有没有渲染在页面上: 数据在模板(页面)里使用了:只要数据变了,自然会引起页面的更新,因为,影响了组件里的模板显示结果 数据没有在模板(页面)里使用:就算...

2019-11-14 23:36:33 283 0

原创 webkit渲染引擎工作流程

一、真实DOM和其解析流程? 浏览器渲染引擎工作流程都差不多,大致分为5步,创建DOM树——创建StyleRules——创建Render树——布局Layout——绘制Painting 第一步,用HTML分析器,分析HTML元素,构建一颗DOM树(标记化和树构建)。 第二步,用CSS分...

2019-10-29 23:11:10 159 0

原创 JavaScript中的Object.defineProperty()函数

花了一个半小时写的,请怀着一颗感恩的心阅读,谢谢! 我在说明一个事物和概念时,喜欢先上代码看到效果,然后再解释概念。 ES5新增的函数Object.defineProperty(),可以给JavaScript对象增加属性。啊……,那以前的json对象不是本来就可以吗。为何还得搞出个...

2019-10-28 17:40:20 293 0

转载 理解BEM的命名方式

一、什么是BEM?   BEM代表块(Block),元素(Element),修饰符(Modifier)。无论是什么网站页面,都可以拆解成这三部分。 二、带你认识网页   我们来看一下qq的官网,它可以由三个块组成:logo,导航nav和页面主题mian三个模块构成,如果再细分一下呢?logo...

2019-10-19 21:05:09 112 1

原创 form表单中的enctype属性,form表单中的enctype="multipart/form-data"什么意思

一、form表单的作用 1、<form>表单标签使用在一个网页中数据提交标签,这就不用多说了 2、form表单在提交时: 1)、先把form表单里的表单元素的name属性和value属性进行收集。 2)、按照enctype属性的设置,选择合适的编码方式,对数据进行编...

2019-10-18 01:06:00 205 0

原创 http-proxy-middleware

用于把请求代理转发到其他服务器的中间件。 简介 例如:我们当前主机为http://localhost:3000/,现在我们有一个需求,如果我们请求/api,我们不希望由3000来处理这个请求,而希望由另一台服务器来处理这个请求怎么办? var express = require('...

2019-10-17 12:15:45 198 0

原创 前端模块化:AMD和CMD,后端模块化:commonJS,ES6模块化

如果你对模块化已经了解,可以直接从第三点开始阅读。 一、模块化的概念: 在进行项目分析或者编码时,先把项目进行拆分,拆分成很多的类,对象,很多的函数等等。能够提高代码的复用性。这些被拆分出来的类型,对象,函数就是模块。就像一辆汽车是由很多的零部件组成,每个零部件就是一个小模块,而由很多零件组成...

2019-10-13 12:25:52 255 0

原创 作用域和作用域链,let声明的全局变量不是window对象的属性

这篇博文是我在心情不好的情况下写的。 一、作用域 作用域,就是变量起作用的区域(范围)。或者说,js代码执行时,查找变量的范围。 ES5及其以前: JS的变量作用域分为:全局作用域和函数作用域(局部作用域) 在google的控制台里,可以看到 、用var 声明的变量a1是全局...

2019-09-24 21:29:21 375 0

原创 ES6的模块化

如果你对模块化已经了解,可以直接从第三点开始阅读。 一、模块化的概念: 在进行项目分析或者编码时,先把项目进行拆分,拆分成很多的类,对象,很多的函数等等。能够提高代码的复用性。这些被拆分出来的类型,对象,函数就是模块。就像一辆汽车是由很多的零部件组成,每个零部件就是一个小模块,而由很多零件组成...

2019-09-23 17:54:07 406 2

转载 2019年7月全国程序员工资统计

本统计采集了某网站7月发布的程序员招聘信息,并统计如下。 工资又涨了 月 工资 4 12807 5 13041 6 13255 ...

2019-08-27 19:35:13 358 0

原创 前端面试题:vue 的双向数据绑定原理,v-model的源码

一、双向绑定: 在vue中,使用指令v-model来实现双向绑定,双向绑定的意思是:表单改变,数据也改变,数据改变,表单也改变,以下为示意图: 二、示例代码: <!DOCTYPE html> <html> <head> <meta ...

2019-08-21 17:55:55 591 0

原创 前端面试题:事件防抖,函数节流,事件防抖和函数节流的区别

一、事件防抖: 1、本来事件的触发比较频繁,但是,我们只希望这无数次的事件触发中,有部分事件是有效的(如:用户有短暂的停止时才调用函数)。特别是在触发一次,就发一次请求,会有无数次的抖动。 如: 键盘事件:onkeydown,onkeyup,onkeypress,oninput,都是按一...

2019-08-21 17:22:20 534 0

原创 前端面试题:bind,call和apply的区别

一、文字描述: 1、相同点: 三个函数都会改变this的指向(调用这三个函数的函数内部的this) 2、不同点: 1)、bind会产生新的函数,(把对象和函数绑定死后,产生新的函数) 2)、call和apply不会产生新的函数,只是在调用时,绑定一下而已。 3)、call和appl...

2019-08-21 16:51:25 999 2

原创 前端面试题:如何给一个数组添加一个自定义方法

1、了解prototype JavaScript中的prototype属性到底是啥意思? 2、给官方对象(类)Array增加方法,也是使用prototype <!DOCTYPE html> <html lang="en"> <h...

2019-08-21 16:29:29 168 0

原创 vue调试工具vue-devtools安装及使用

一、为什么要使用vue-devtools 由于用vue脚手架写的源代码,运行时,先经过webpack打包,打包后的结果和我们的源代码不一样,所以,没法调试程序,没法看的数据的变化,在google中调试非常费劲。Vue-devtools工具是专门为vue项目使用过程中设计的调试工具。有了这个工具,...

2019-08-18 19:12:22 1107 4

转载 Response的Header属性详解

Response的Header属性详解 一、Header属性 二、Header属性分类 1、通用信息头 2、请求头 3、响应头 4、实体头 5、扩展头 三、Response设置Header属性 1、控制浏览器禁止缓存当前文档内容 2、控制浏览器过期的时间期限 3、设置http...

2019-08-09 15:44:46 1417 0

原创 前端面试题:wepack中loader和plugin的区别

一、从功能作用的角度区分: 1、loader: loader从字面的意思理解,是加载的意思。 由于webpack 本身只能打包commonjs规范的js文件,所以,针对css,图片等格式的文件没法打包,就需要引入第三方的模块进行打包。 loader虽然是扩展了 webpac...

2019-08-08 22:42:24 1622 0

转载 vue——项目优化,缩短首屏加载时间

在Vue项目中,引入到工程中的所有js、css文件,编译时都会被打包进vendor.js,浏览器在加载该文件之后才能开始显示首屏。若是引入的库众多,那么vendor.js文件体积将会相当的大,影响首屏的体验。 解决方法是,将引用的外部js、css文件剥离开来,不编译到vendor.js中,而是用...

2019-08-08 21:25:25 869 0

转载 移动 H5 首屏秒开优化方案探讨

随着移动设备性能不断增强,web 页面的性能体验逐渐变得可以接受,又因为 web 开发模式的诸多好处(跨平台,动态更新,减体积,无限扩展),APP 客户端里出现越来越多内嵌 web 页面(为了配上当前流行的说法,以下把所有网页都称为 H5 页面,虽然可能跟 H5 没关系),很多 APP 把一些功能...

2019-08-08 21:21:28 180 0

原创 面试题:jQuery的fire函数是什么意思

//fire()函数。 // callbacks.fire() 函数用于传入指定的参数调用所有的回调。 // 此方法返回一个回调对象到它绑定的回调列表。 //fire()函数。 // callbacks.fire() 函数用于传入指定的参数调用所有的回调。 // 此方法返回一个回调对象到...

2019-08-08 17:20:18 180 0

原创 面试题:jQuery的队列,队列可以用在哪些地方

一、队列是什么? 队列是一种数据结构,跟生活中的排队是一样的,符合先进先出,后进后出的原则 即:对一个数组做一些限制: 1、只允许在后面插入数据,只允许在前面删除数据 2、不允许在后面删除数据,也不允许在前面插入数据,也不允许在中间随便插入和删除数据. 二、jQuery的队列函数:q...

2019-08-08 10:49:00 311 0

原创 面试题:jQuery 的属性拷贝(extend)的实现原理是什么,如何实现深拷贝?

一、jQuery.extend() 函数用于将一个或多个对象的内容合并到目标对象。 语法 $.extend( target [, object1 ] [, objectN ] ) 指示是否深度合并 $.extend( [deep ], target, object1 [, object...

2019-08-07 16:42:25 812 1

原创 面试题:深拷贝和浅拷贝(超级详细,有内存图)

这篇文章竟然写了一上午,亲,请怀着感恩的心阅读!! 深拷贝和浅拷贝是经常在面试中会出现的,主要考察你对基本类型和引用类型的理解深度。我在无数次的面试中,应聘者还没有一个人能把这个问题回答情况,包括很多机构的培训老师。这篇文章会让你把基本类型和引用类型的区别搞得清清楚楚,搞清楚这两者的区...

2019-08-07 13:07:34 1932 2

原创 内存分区

任何编程语言的内存分区几乎都是一样的 内存是存储数据的,不同类型的数据要存储在不同的区域,即分类存放,不同的区域作用和功能也不一样。就像你家里的衣柜一样,也分了不同的区域:如挂西装的区域,放袜子的区域等等,我相信每个人都会把这两个东西放在不同的区域。要不然,当你西装革履地参加一个高档的宴会...

2019-08-07 10:24:39 385 2

转载 最全整理浏览器兼容性问题与解决方案

常见浏览器兼容性问题与解决方案   所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况。在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果。所以浏览器的兼容性问题是前端开发人员经常会碰到和必...

2019-08-06 17:01:24 2158 0

原创 pc端和移动端的区别

1、操作方式不同 PC端的操作方式与移动端已经有了明显的差别,PC端使用鼠标操作,操作包含滑动、左击、右击、双击操作,操作相对来说单一,交互效果相对较少。 而对于手机端来说,包含手指操作点击、滑动、双击、双指放大、双指缩小、五指收缩和苹果最新的3Dtouch按压力度,除了手指操作外还可以配合传...

2019-08-06 15:09:28 994 0

原创 面试题:点透事件

一、先上一段代码大家直观地看看现象(可以复制,在浏览器中打开) <!DOCTYPE html> <html> <head> <style type="text/css"> #box { position: rela...

2019-08-06 14:51:00 512 0

原创 页面的重排和回流(提升移动端网页性能)

一、重绘重排的概念: 重绘的意思是:重新绘制,如:颜色发生变化, 重排(回流)的意思是:重新排列,即布局会受影响,如:用js动态改变了元素的宽或高,就会影响其它元素的位置,这叫重新排列。 二、什么时候引起重绘,什么时候引起重排: 1、重排(回流):回流这一阶段主要是计算节点的位置和几何信...

2019-08-05 20:38:21 174 0

原创 关于DOM重排重绘性能__createDocumentFragment和拼接html字符串的方式

解释: let fragment = document.createDocumentFragment();//fragment是一个指向空DocumentFragment对象的引用 DocumentFragments是DOM节点。它们不是主DOM树的一部分。通常的用例是创建文档片段,将元素附加...

2019-08-05 16:59:42 200 0

转载 移动端性能优化

一、移动网站加载速度缓慢的原因 1、网站服务器 网站服务器(比如软件),默认情况下运行缓慢,或者尚未针对加载速度最大化进行合适的配置 2、虚拟主机解决方案 移动网站被托管于一个相对缓慢的虚拟主机解决方案(或硬件)中,或者这个网站流量非常高,经常超出虚拟主机可以处理的流量水平...

2019-08-05 15:30:27 263 0

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