自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 小程序的优缺点

优点:1.不需要下载,即可使用,即用即走2.入门门槛较低,开发难度低3.运行速度和启动速度比较快4.开发成本较低,用户流量较大缺点:1.工程大小单包最大2M,使用分包技术,变成20M2.对于微信依赖非常大,入口非常深3.小程序的用户粘度不是很高4.不支持分分享朋友圈5.对个人开发者限制太大了...

2020-12-28 15:39:43 854

原创 对Vue.js的template编译的理解

简而言之,就是先转化成AST树,再得到的render函数返回VNode(Vue的虚拟DOM节点)详情步骤:首先,通过compile编译器把template编译成AST语法树(abstract syntax tree 即 源代码的抽象语法结构的树状表现形式),compile是createCompiler的返回值,createCompiler是用以创建编译器的。另外compile还负责合并option。然后,AST会经过generate(将AST语法树转化成render funtion字符串的过程)得到r

2020-12-16 19:41:11 982

原创 WebPack工作原理及webpack与gulp和grunt的区别是什么?

WebPack工作原理WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Sass,TypeScript等),并将其转换和打包为合适的格式供浏览器使用。在3.0出现后,Webpack还肩负起了优化项目的责任。这段话有三个重点:打包:可以把多个Javascript文件打包成一个文件,减少服务器压力和下载带宽。转换:把拓展语言转换成为普通的JavaScript,让浏览器顺利运行。优化:前端变的越来越复杂后,性

2020-11-27 17:18:24 176

原创 box-sizing常用的属性有哪些?分别有什么作用?

答:content-box就是宽高就是元素本身的宽高 边框内边距不算在内Border-box 就是用元素内容和padding和border一起决定width和height  (1)box-sizing: content-box|border-box|inherit;  (2)content-box:宽度和高度分别应用到元素的内容框。在宽度和高度之外绘制元素的内边距和边框(元素默认效果)。border-box:元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制。通过从已设定的宽度和高度分别减

2020-08-12 17:25:01 1389

原创 浮动和清除浮动,清除浮动有哪些方式?比较好的方式是哪一种?

浮动的框可以向左或向右移动,直到他的外边缘碰到包含框或另一个浮动框的边框为止。由于浮动框不在文档的普通流中,所以文档的普通流的块框表现得就像浮动框不存在一样。浮动的块框会漂浮在文档普通流的块框上。  答:  (一)   (1)父级div定义height。   (2)结尾处加空div标签clear:both。   (3)父级div定义伪类:after和zoom。   (4)父级div定义overflow:hid

2020-08-12 17:23:02 210

原创 *Cookie,LocalStorage,SessionStorage的原理及其区别**

Cookie,LocalStorage,SessionStorage的原理及其区别CookieCookie 是小甜饼的意思。顾名思义,cookie 确实非常小,它的大小限制为4KB左右。它的主要用途有保存登录信息,比如你登录某个网站市场可以看到“记住密码”,这通常就是通过在 Cookie 中存入一段辨别用户身份的数据来实现的。localStoragelocalStorage 是 HTML5...

2020-07-13 18:20:27 371

原创 网络协议的三次握手和四次挥手

建立连接需要三次握手第一次握手:客户端向服务端发送连接请求包,标志位SYN(同步序号)置为1,顺序号码为X=0。第二次握手:服务端收到客户端发过来报文,由SYN=1知道客户端要求建立联机,则为这次连接分配资源。并向客户端发送一个SYN和ACK都置为1的TCP报文,设置初始顺序号码Y=0,将确认序号(ack)设置为上一次客户端发送过来的顺序号(Seq)加1,即X+1 = 0+1=1。第三次握手...

2020-04-06 20:02:57 279

原创 常见的移动端布局解决方案有哪些?原理如何?

①固定布局 采用固定像素原理:设置好视口,跟PC端写法一样,版心设置320即可优点:思路沿用pc端,上手简单缺点:界面两侧留有空白,用户体验差,而且元素略小②流式布局原理:用百分比代替固定像素,限制布局盒子的最大最小宽度优点:实现自适应缺点:只做宽度适配,高度会被拉伸③rem布局原理:设置跟标签html字体的大小,利用媒体查询不同屏幕宽度下字体的大小,利用相对定位rem代替固定px...

2020-04-01 11:22:53 252

原创 vuex是什么,怎么使用,使用场景?

vuex是什么,怎么使用,使用场景?是状态管理,在main.js引入store,注入。只用来读取的状态集中放在store中; 改变状态的方式是提交mutations,这是个同步的事物; 异步逻辑应该封装在action中。场景有:单页应用中,组件之间的状态、音乐播放、登录状态、加入购物车vuex是一种集中式状态管理模式,它按照一定的规则管理状态,保证状态的变化是可预测的。state:定义初始化...

2020-02-07 14:34:42 3242 2

原创 Vue 的双向绑定数据的原理

Vue 的双向绑定数据的原理采用数据劫持结合发布者-订阅者模式的方式Object.defineProperty(),通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应监听回调。第一步:通过observe(观察者模式) 进行递归遍历,包括子属性对象的属性,都加上 setter和getter这样的话,给这个对象的某...

2020-02-07 14:29:00 220

原创 react 生命周期函数

1~初始化 constructor将要挂载 componentWillMount渲染 render挂载 componentDidMount是否要更新 shouldComponentUpdate当数据发生改变 触发生命周期函数 这个时候分两种状态是否存在 shouldComponentUpdate 这个函数第一个 不存在 数据正常更新触发 三个函数:将要更新 componentW...

2020-01-17 11:02:38 130

原创 (详解)vue-router有哪几种导航钩子?

全局守卫:beforeEach,beforeResolve,afterEachbeforeEach((to,from,next)={if(to.path == ‘/login’){next(); }else{next({name:‘login’})}})路由独享守卫{path : ‘/limit’,name : ‘limit’,component : limitbefo...

2020-01-15 16:23:29 455

空空如也

空空如也

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

TA关注的人

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