03 2020 档案

摘要:Q1 :什么是虚拟DOM? 难度::star: 虚拟DOM(VDOM)它是真实DOM的内存表示,一种编程概念,一种模式。它会和真实的DOM同步,比如通过ReactDOM这种库,这个同步的过程叫做调和(reconcilation)。 虚拟DOM更多是一种模式,不是一种特定的技术。 :link: 资料来 阅读全文
posted @ 2020-03-26 15:01 DAVENEE 阅读(118) 评论(0) 推荐(0) 编辑
摘要:后端路由简介 路由这个概念最先是后端出现的。在以前用模板引擎开发页面时,经常会看到这样 http://www.xxx.com/login 大致流程可以看成这样: 浏览器发出请求 服务器监听到80端口(或443)有请求过来,并解析url路径 根据服务器的路由配置,返回相应信息(可以是 html 字串, 阅读全文
posted @ 2020-03-25 14:55 DAVENEE 阅读(407) 评论(0) 推荐(0) 编辑
摘要:移动端meta标签移动端meta标签的作用,内容,content有几种类型的值 1 <meta charset="UTF-8"> <meta http-equiv="content-type" content="text/html"> <meta name="keywords" content="" 阅读全文
posted @ 2020-03-25 11:36 DAVENEE 阅读(157) 评论(0) 推荐(0) 编辑
摘要:$(document).ready比window.onload先执行。window.onload只执行一次。 $(document).ready和window.onload都是在都是在页面加载完执行的函数,大多数情况下差别不大,但也是有区别的。 $(document).ready:是DOM结构绘制完 阅读全文
posted @ 2020-03-24 17:15 DAVENEE 阅读(372) 评论(0) 推荐(0) 编辑
摘要:axios 是一个基于 Promise 的http请求库,可以用在浏览器和node.js中,目前在github上有 42K 的star数 备注: 每一小节都会从两个方面介绍:如何使用 -> 源码分析 [工具方法简单介绍]一节可先跳过,后面用到了再过来查看 axios最核心的技术点是如何拦截请求响应并 阅读全文
posted @ 2020-03-24 15:48 DAVENEE 阅读(398) 评论(0) 推荐(0) 编辑
摘要:限制: 在组件定义中只能是函数。 详细: 为实例提供挂载元素。值可以是 CSS 选择符,或实际 HTML 元素,或返回 HTML 元素的函数。注意元素只用作挂载点。如果提供了模板则元素被替换,除非 replace 为 false。元素可以用 vm.$el 访问。 用在 Vue.extend 中必须是 阅读全文
posted @ 2020-03-24 14:24 DAVENEE 阅读(1382) 评论(0) 推荐(0) 编辑
摘要:1.日期兼容性 解决方法(请看我上一篇文章) 安卓、ios时间转换成时间戳的形式 2.input框聚焦,ios出现outline或者阴影,安卓显示正常 解决方法 input:focus{outline:none} input:{-webkit-appearance: none;} 3.关于flex布 阅读全文
posted @ 2020-03-24 13:59 DAVENEE 阅读(536) 评论(0) 推荐(0) 编辑
摘要:1,ios系统中元素被触摸时产生的半透明灰色遮罩怎么去掉 ios用户点击一个链接,会出现一个半透明灰色遮罩, 如果想要禁用,可设置-webkit-tap-highlight-color的alpha值为0,也就是属性值的最后一位设置为0就可以去除半透明灰色遮罩 a,button,input,texta 阅读全文
posted @ 2020-03-23 16:59 DAVENEE 阅读(90) 评论(0) 推荐(0) 编辑
摘要:(1)通过媒体查询的方式即CSS3的meida queries (2)以天猫首页为代表的 flex 弹性布局 (3)以淘宝首页为代表的 rem+viewport缩放 (4)rem 方式12341.Media Queries meida queries 的方式可以说是我早期采用的布局方式,它主要是通过 阅读全文
posted @ 2020-03-23 16:51 DAVENEE 阅读(118) 评论(0) 推荐(0) 编辑
摘要:本文目录: 减少前端资源体积 使用长期缓存 监控和分析应用程序 总结 一、减少前端资源体积 1、webpack 4 开启 production 模式 production 模式下 webpack 会对代码进行优化,如减小代码体积,删除只在开发环境用到的代码。 可以在 webpack 中指定: mod 阅读全文
posted @ 2020-03-21 20:31 DAVENEE 阅读(509) 评论(0) 推荐(0) 编辑
摘要:webpack作为一种流行的打包工具被广泛应用在web项目的前端工程化构建中.单配置文件,各种插件形式的loader能很方便的把各种源码构建成浏览器环境能运行的js代码。webpack的构建流程是如何的?一个个独立的依赖文件怎么被整合成目标js的?源码是何时被转义成浏览器可运行标准的?我自己要定制打 阅读全文
posted @ 2020-03-16 16:57 DAVENEE 阅读(478) 评论(0) 推荐(0) 编辑
摘要:先上一张流程图一般webpack打包文件是通过cli调用 webpack.js --config=webpack.build.js 这实际上等同于通过node调用 const Webpack = require('./node_modules/webpack'); const config = re 阅读全文
posted @ 2020-03-16 16:55 DAVENEE 阅读(197) 评论(0) 推荐(0) 编辑
摘要:1. webpack与grunt、gulp的不同? 三者都是前端构建工具,grunt和gulp在早期比较流行,现在webpack相对来说比较主流,不过一些轻量化的任务还是会用gulp来处理,比如单独打包CSS文件等。 grunt和gulp是基于任务和流(Task、Stream)的。类似jQuery, 阅读全文
posted @ 2020-03-16 16:46 DAVENEE 阅读(526) 评论(0) 推荐(0) 编辑
摘要:vue async/await同步 案例 1.async/await场景 这是一个用同步的思维来解决异步问题的方案,当前端接口调用需要等到接口返回值以后渲染页面时。 2.名词解释 >async async的用法,它作为一个关键字放到函数前面,用于表示函数是一个异步函数,因为async就是异步的意思, 阅读全文
posted @ 2020-03-15 22:56 DAVENEE 阅读(391) 评论(0) 推荐(0) 编辑
摘要:1、Node模块机制 1.1 请介绍一下node里的模块是什么 Node中,每个文件模块都是一个对象,它的定义如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 function Module(id, parent) { this.id = id; this.exports = {}; 阅读全文
posted @ 2020-03-15 22:45 DAVENEE 阅读(179) 评论(0) 推荐(0) 编辑
摘要:1、node有哪些特征,与其他服务器端对比 特征:单线程、事件驱动、非阻塞I/O node 无法直接渲染静态页面,提供静态服务 node 没有根目录的概念 node 必须通过路由程序指定文件才能渲染文件 node 比其他服务端性能更好,速度更快 2、CommonJS中require/exports和 阅读全文
posted @ 2020-03-15 22:43 DAVENEE 阅读(674) 评论(0) 推荐(0) 编辑
摘要:请列举几个 meta 元素(YG) <meta name="keywords" contect=""> //向搜索引擎说明你的网页的关键词 <meta name="description" contect=""> //告诉搜索引擎你的站点的主要内容 <meta name="author" conte 阅读全文
posted @ 2020-03-15 16:35 DAVENEE 阅读(131) 评论(0) 推荐(0) 编辑
摘要:前言 我的目标是写一个非常详细的关于diff的干货,所以本文有点长。也会用到大量的图片以及代码举例,目的让看这篇文章的朋友一定弄明白diff的边边角角。 先来了解几个点... 1. 当数据发生变化时,vue是怎么更新节点的? 要知道渲染真实DOM的开销是很大的,比如有时候我们修改了某个数据,如果直接 阅读全文
posted @ 2020-03-14 22:49 DAVENEE 阅读(220) 评论(0) 推荐(0) 编辑
摘要:这个文章也可以 https://www.jianshu.com/p/6b80e1d806b6 一、diff策略 1.Web UI中DOM节点跨层级的移动特别少,可以忽略不计 2.拥有相同类的两个组件将会生成相似的树形结构,拥有不同类的两个组件将会生成不同的树形结构 3.对于同一层级的一组(具有相同父 阅读全文
posted @ 2020-03-14 22:42 DAVENEE 阅读(333) 评论(0) 推荐(0) 编辑
摘要:1.代码约定 1.1可读性 代码的格式化 使用若干个空格来进行缩进,因为制表符在不同编辑器种的显示效果不同 注释函数和方法 注明参数,返回值,前提假设.... 大段代码 复杂的算法 说明算法逻辑,方便别人查看,也方便自己查阅Hack 说明浏览器的差异,防止别人修改时没考虑到误删... 1.2 变量和 阅读全文
posted @ 2020-03-12 16:09 DAVENEE 阅读(168) 评论(0) 推荐(0) 编辑
摘要:我在想了解HTTP/2的时候,查阅了很多资料,发现这篇很好,是外国的文章.我翻译过来,加入自己的一点理解. HTTP/2 更简单,高效,强大.它在传输层解决了以前我们HTTP1.x中一直存在的问题.使用它可以优化我们的应用.HTTP/2 的首要目标是通过完全的请求,响应多路复用,头部的压缩头部域来减 阅读全文
posted @ 2020-03-11 17:03 DAVENEE 阅读(164) 评论(0) 推荐(0) 编辑
摘要:一、前言 前端缓存主要是分为HTTP缓存和浏览器缓存。其中HTTP缓存是在HTTP请求传输时用到的缓存,主要在服务器代码上设置;而浏览器缓存则主要由前端开发在前端js上进行设置。 缓存可以说是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件 阅读全文
posted @ 2020-03-11 16:52 DAVENEE 阅读(310) 评论(0) 推荐(0) 编辑
摘要:前言 vuex作为vue官方出品的状态管理框架,以及其简单API设计、便捷的开发工具支持,在中大型的vue项目中得到很好的应用。作为flux架构的后起之秀,吸收了前辈redux的各种优点,完美的结合了vue的响应式数据,个人认为开发体验已经超过了React + Redux这对基友。 在项目启动vue 阅读全文
posted @ 2020-03-11 16:44 DAVENEE 阅读(373) 评论(0) 推荐(0) 编辑
摘要:Socket原理 1、什么是Socket 在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据 socket起源于Unix,而Unix/Linux基本哲学之一就是“ 阅读全文
posted @ 2020-03-10 21:54 DAVENEE 阅读(155) 评论(0) 推荐(0) 编辑
摘要:1、概念闭包函数:声明在一个函数中的函数,叫做闭包函数。 闭包:内部函数总是可以访问其所在的外部函数中声明的参数和变量,即使在其外部函数被返回(寿命终结)了之后。 2、特点 让外部访问函数内部变量成为可能; 局部变量会常驻在内存中; 可以避免使用全局变量,防止全局变量污染; 会造成内存泄漏(有一块内 阅读全文
posted @ 2020-03-09 17:38 DAVENEE 阅读(149) 评论(0) 推荐(0) 编辑
摘要:一、真实DOM和其解析流程? 浏览器渲染引擎工作流程都差不多,大致分为5步,创建DOM树——创建StyleRules——创建Render树——布局Layout——绘制Painting 第一步,用HTML分析器,分析HTML元素,构建一颗DOM树(标记化和树构建)。 第二步,用CSS分析器,分析CSS 阅读全文
posted @ 2020-03-04 21:13 DAVENEE 阅读(1672) 评论(0) 推荐(0) 编辑
摘要:vue通常鼓励开发人员沿着“数据驱动”的方式思考,避免直接接触 DOM。Vue的dom更新是异步的,当数据发生变化,vue并不是里面去更新dom,而是开启一个队列。跟JavaScript原生的同步任务和异步任务相同。 比如我们调用一个方法,同时涉及多个数据的操作改变,vue会把这一些列操作推入到一个 阅读全文
posted @ 2020-03-04 19:52 DAVENEE 阅读(2657) 评论(0) 推荐(0) 编辑
摘要:1.vue优点?答:轻量级框架:只关注视图层,是一个构建数据的视图集合,大小只有几十kb;简单易学:国人开发,中文文档,不存在语言障碍 ,易于理解和学习;双向数据绑定:保留了angular的特点,在数据操作方面更为简单;组件化:保留了react的优点,实现了html的封装和重用,在构建单页面应用方面 阅读全文
posted @ 2020-03-01 19:57 DAVENEE 阅读(300) 评论(0) 推荐(0) 编辑
摘要:一、对于MVVM的理解? MVVM 是 Model-View-ViewModel 的缩写。Model代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑。View 代表UI 组件,它负责将数据模型转化成UI 展现出来。ViewModel 监听模型数据的改变和控制视图行为、处理用户交互,简单 阅读全文
posted @ 2020-03-01 19:51 DAVENEE 阅读(185) 评论(0) 推荐(0) 编辑
摘要:1. 什么是cookie HTTP协议本身是无状态的。什么是无状态呢,即服务器无法判断用户身份。Cookie实际上是一小段的文本信息(key-value格式)。客户端向服务器发起请求,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie 阅读全文
posted @ 2020-03-01 19:48 DAVENEE 阅读(158) 评论(0) 推荐(0) 编辑
摘要:1.用户输入网址,浏览器发起DNS查询请求 用户访问网页,DNS服务器(域名解析系统)会根据用户提供的域名查找对应的IP地址。 域名解析服务器是基于UDP协议实现的一个应用程序,通常通过监听53端口来获取客户端的域名解析请求。DNS查找过程如下: 浏览器缓存 – 浏览器会缓存DNS记录一段时间。 有 阅读全文
posted @ 2020-03-01 19:45 DAVENEE 阅读(455) 评论(0) 推荐(0) 编辑