- 博客(21)
- 收藏
- 关注
原创 陈恩秦前端面试整理
自我介绍面试官您好,我是广东工业大学17级软件工程的陈恩秦。我学前端有一年多的时间,现在在学校担任一个计算机学院工作室的负责人,同时也是前端负责人。在工作室期间,我学到了很多知识也结交了很多朋友,并共同完成了政府以及企业项目,现在我想趁这次机会进入贵公司实习,得到更多的成长!项目一、《玉兰》:移动端和pc端初次接触移动端适配封装的思想:api 封装api请求,利于管理、复用。模块化编程...
2020-06-24 14:56:08
930
原创 存储方式详解(cookie、session、Token)
参考文献浏览器提供的几种存储vuex页面刷新数据丢失的解决办法Session Cookie Token
2020-04-23 10:23:09
3809
3
原创 node实战入门总结
搭建流程(按新建顺序)层层嵌套引入系统架构设计的四层抽象:第一层: www.js [开启 Server]第二层:app.js [通信设置层]第三层:router.js [业务逻辑层]第四层:controller.js [数据层]总体结构:bin/www.js(第一层):node构建服务的基本流程配置,和业务无关。package里面配置好的入口文件app.js(第二层)src...
2020-04-21 10:50:55
443
原创 webpack小结(工程化)
有哪些打包工具(以发布时间为顺序)前端的打包工具1、grunt(14-16)最老牌的打包工具,它运用配置的思想来写打包脚本,一切皆配置,所以会出现比较多的配置项,诸如option,src,dest等等。而且不同的插件可能会有自己扩展字段,认知成本高,运用的时候需要明白各种插件的配置规则2、gulp基于 nodejs 的 steam 流打包。运用相当简单。更易于学习和使用,使用gulp的...
2020-04-13 23:08:19
379
原创 浅谈Vue的响应式原理(对比2.0和3.0)
参考文献Vue 数据响应式原理深入理解Vue响应式原理前言Vue.js 的核心包括一套“响应式系统”。“响应式”,是指当数据改变后,Vue 会通知到使用该数据的代码。例如,视图渲染中使用了数据,数据改变后,视图也会自动更新。举个简单的例子,对于模板:<div id="root">{{ name }}</div>创建一个 Vue 组件:var vm = ne...
2020-04-13 23:08:00
580
原创 项目经历之——轮询后端接口(setInterval、websocket)
项目背景由于项目中需要定时的请求后端接口获取数据实时更新显示在页面,当我们需要做轮询的时候,自然就想到了定时器,最开始对于定时器的理解是 setTimeout 执行一次就结束了,setInterval 可以重复执行,所以轮询的时候理所当然的选择了 setInterval,刚开始效果杠杠滴,可是过了一段时间如果网络波动就会导致定时器不是那么 ‘准时’ ,当时很奇怪,后面查找资料发现这是 setIn...
2020-04-13 23:07:48
11765
1
原创 HTML/CSS知识点小结
html/css知识点小结CSS权重及其引入方式CSS权重及其引入方式引入方式(4种):内联(行内)样式:为元素添加一个style属性,属性值即为css样式。内部样式表(内嵌样式):在head标签下添加一个style元素标签,并在标签内编写css样式。外部样式表(外联样式):将页面需要的CSS写在一个单独的扩展名为.css的文件中,并用link元素引用。导入样式表:导入样式和链接样式...
2020-04-13 23:07:35
858
原创 VDOM(虚拟dom、diff算法)和key
参考文献Virtual Dom库snabbdom代码解析vue核心之虚拟DOM(vdom)详解vue的diff算法一、背景定义JS操作真实DOM的代价!用我们传统的开发模式,原生JS或JQ操作DOM时,浏览器会从构建DOM树开始从头到尾执行一遍流程。在一次操作中,我需要更新10个DOM节点,浏览器收到第一个DOM请求后并不知道还有9次更新操作,因此会马上执行流程,最终执行10次。例如,...
2020-04-13 23:07:24
808
1
原创 Vue的深入理解
1、spa(单页面)应用参考文献Vue单页面应用单页应用和多页应用:超级详细,超级好的一篇文章说白就是无刷新,整个webapp就一个html文件,里面的各个功能页面是javascript通过hash,或者history api来进行路由,并通过ajax拉取数据来实现响应功能。因为整个webapp就一个html,所以叫单页面!通俗点来讲,在应用整个使用流程里浏览器由始至终没有刷新,所有的数...
2020-04-13 23:06:56
1284
1
原创 Http、TCP和UDP和CDN(计算机网络)
参考文献TCP为啥要3次握手和4次挥手?握两次手不行吗?【前端大全】面试常问!!TCP的三次握手与四次挥手理解一、一些概念序列号seq(Sequence Number):占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。确...
2020-04-03 23:24:54
2830
原创 js知识点小结
文章目录1、原始值和引用值类型及区别2、判断数据类型typeof、instanceof、Object.prototype.toString.call()、constructor3、类数组与数组的区别与转换4、 数组的常见API5、bind、call、apply的区别6、new的原理7、如何正确判断this(区别箭头函数)8、严格模式与非严格模式的区别9、原型和原型链10、prototype与__p...
2020-04-03 23:24:12
612
原创 手鲁算法
文章目录单向链表反转(深信服一面)单向链表反转(深信服一面)单链表反转总结篇法一:就地反转法思路:把当前链表的下一个节点pCur插入到头结点head的下一个节点中,就地反转。head->1->2->3->4->5的就地反转过程:head->2->1->3->4->5head->3->2->1->4...
2020-01-07 22:39:44
294
原创 Vue实现nextTick
参考文献vue nextTick深入理解-vue性能优化、DOM更新时机、事件循环机制全面解析Vue.nextTick实现原理这一次,彻底弄懂 JavaScript 执行机制一、定义[nextTick、事件循环]nextTick的由来:由于Vue的数据驱动视图更新是异步的,即修改数据的当下,视图不会立即更新,而是等同一事件循环中的所有数据变化完成之后,再统一进行视图更新。这样做的目的是...
2019-11-19 12:49:38
313
原创 前端模块化(commonJs、ES6模块)
参考文献前端模块化:CommonJS,AMD,CMD,ES6ES6 模块与 CommonJS 模块的差异一、引言模块化的开发方式可以提高代码复用率,方便进行代码的管理。通常一个文件就是一个模块,有自己的作用域,只向外暴露特定的变量和函数。目前流行的js模块化规范有CommonJS、AMD、CMD以及ES6的模块系统。首先站在框架设计者的角度,思考一个模块加载器要做什么事:分析模块...
2019-11-09 11:19:00
373
原创 浅谈js数据类型
参考文献JavaScript中基本数据类型和包装类型JavaScript的基本包装类型示例ECMAScript 原始值和引用值关于js基本类型与引用类型(堆内存、栈内存的理解)理解JavaScript中的堆和栈一、原始值和引用值在 ECMAScript 中,变量可以存在两种类型的值,即原始值和引用值。原始值原始值指的是代表原始数据类型的值,也叫基本数据类型或简单类型,因为其占据空...
2019-10-28 23:13:29
195
原创 如何正确判断this(包括箭头函数)
参考文档彻底理解js中this的指向深入理解ES6箭头函数中的this详解箭头函数和普通函数的区别以及箭头函数的注意事项、不适用场景一、基本概念普通函数:this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个理她最近上一级调用它的对象方法调用中谁调用 this 指向谁全局作用域或者普通函数中 this 指向全...
2019-10-25 23:02:48
1025
原创 let、const和var的概念与区别(浅谈变量提升原理)
参考文章var和let/const的区别阮一峰的let 和 const 命令浅谈JS变量提升var和 let / const 的区别块级作用域不存在变量提升暂时性死区不可重复声明let、const声明的全局变量不会挂在顶层对象下面const命令两个注意点:const 声明之后必须马上赋值,否则会报错const 简单类型一旦声明就不能再更改,复杂类型(数组、对象等)指针...
2019-10-23 20:40:46
643
原创 js中==和===区别
定义==:运算符称作相等,用来检测两个操作数是否相等,这里的相等定义的非常宽松,可以允许进行类型转换===:运算符称作严格相等,用来检测两个操作数是否严格相等对于string,number等基础类型,== 和 === 是有区别的,不同类型间比较,== 之比较“转化成同一类型后的值”看“值”是否相等,=== 如果类型不同,其结果就是不等同类型比较,直接进行“值”比较,两者结果一样对于...
2019-10-21 10:56:52
191
原创 整个HTML解析过程与JS脚本解析和执行顺序
整个HTML解析过程与JS脚本解析和执行顺序参考文章JS脚本解析与执行顺序HTML解析过程通常来说,浏览器对于Javascript的运行有两大特性:载入后马上执行执行时会阻塞页面后续的内容(包括页面的渲染、其它资源的下载)于是,如果有多个js文件被引入,那么对于浏览器来说,这些js文件被被串行地载入,并依次执行。因为javascript可能会来操作HTML文档的DOM树,所以,...
2019-10-19 11:50:21
1388
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人