客户端检测

2019-01-30
阅读 2 分钟
2.2k
检测 web 客户端的手段有很多,而且各有利弊。但最重要的是要知道,不到万不得已,就不要使用客户端检测!如果能找到更通用的方法,应优先采用更通用的方法。既是,先设计通用的方案,在针对差异增强该方案

vue-router源码解析(四)路由匹配规则

2019-01-29
阅读 8 分钟
8k
前面我们讲过,在使用 vue-router 的时候,主要有以下几个步骤: {代码...} 然后再进行路由跳转的时候,我们会有以下几种使用方式 。 详细使用请查看官方文档 {代码...} 那么,你有没有想过, push 进去的对象是如何与我们之前定义的 routes 相对应的 ??接下来,我们一步步来进行探个究竟吧! 匹配路由入口 之前我们说过...

vue-router源码解析(三)路由模式

2019-01-22
阅读 4 分钟
4.2k
vue-router 默认是 hash 模式 , 即使用 URL 的 hash 来模拟一个完整的 URL ,于是当 URL 改变时,页面不会重新加载。

vue-router源码解析(二)插件实现

2019-01-21
阅读 5 分钟
3.5k
vue-router 插件方式的实现 vue-router 是作为插件集成到 vue 中的。 我们使用 vue-router 的时候,第一部就是要 安装插件 Vue.use(VueRouter); 关于插件的介绍可以查看 vue 的官方文档 我们重点关注如何开发插件 如何开发插件 Vue.js 要求插件应该有一个公开方法 install。这个方法的第一个参数是 Vue 构造器,第二个参...

vue-router源码解析(一)

2019-01-21
阅读 2 分钟
7.4k
准备工作 Vue Router 是 Vue.js 官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌。 这里主要通过阅读 vue-router 的源码,对平时使用较多的一些特性以及功能,理解其背后实现的思路。 阅读版本 : 3.0.2 目录结构 {代码...} 我们知道 , 我们在使用 vue-router 的时候 ,主要有以下几步: ...

vue虚拟dom原理剖析

2018-12-28
阅读 1 分钟
8.5k
vue的虚拟dom是基于 snabbdom 改造过来的。了解 snabbdom的原理之后再回过头来看 vue的虚拟dom结构的实现。就难度不大了!

snabbdom源码解析(一) 准备工作

2018-12-26
阅读 2 分钟
6.1k
阅读 vue 源码的时候,想了解虚拟 dom 结构的实现,发现在 src/core/vdom/patch.js 的地方。作者说 vue 的虚拟 DOM 的算法是基于 snabbdom 进行改造的。

使用 canvas 绘图

2018-12-25
阅读 5 分钟
3.4k
HTML5 添加的最受欢迎的功能就是<canvas>元素,这个元素负责在页面中设定一个区域,然后就可以通过 javascript 动态的在这个区域中绘制图形

http 与 https

2018-12-23
阅读 3 分钟
3.3k
http 协议是无状态的,同一个客户端的这次请求和上次请求是没有对应关系,对 http 服务器来说,它并不知道这两个请求来自同一个客户端。 为了解决这个问题, Web 程序引入了 Cookie 机制来维护状态.

编写可维护的代码

2018-12-20
阅读 9 分钟
2.4k
编写可维护的代码 前言 我们在修改他人代码的时候,阅读他人代码所花的时间经常比实现功能的时间还要更多 如果程序结构不清晰,代码混乱 。牵一发而动全身。那维护起来就更难维护了 可读性 可理解性:他人可以接手代码并理解它 直观性 : 代码逻辑清晰 可调试性 :出错时,方便定位问题所在 如何提高可读性 代码格式化 适...

利用 canvas 压缩图片

2018-12-20
阅读 6 分钟
8.6k
利用 canvas 压缩图片 前言 在一个移动端的项目中,图片上传是一个比较常用的功能。 但是,目前手机的随便拍的照片一张都要好几 M , 直接上传的话特别耗费流量,而且所需时间也比较长。 所以需要前端在上传之前先对图片进行压缩。 原理 要使用 js 实现图片压缩效果, 原理其实很简单,主要是: 利用 canvas 的 drawImage...

js 常用计算

2018-12-20
阅读 2 分钟
1.9k
这里右移动小数点需要先转成整形,再进一步处理是因为存在一些浮点数乘以 10 的倍数也会出问题!例如: 268.34*100 => 26833.999999999996

Promise 简单实现

2018-12-20
阅读 9 分钟
3.2k
Promise 简单实现 前言 你可能知道,javascript 的任务执行的模式有两种:同步和异步。 异步模式非常重要,在浏览器端,耗时很长的操作(例如 ajax 请求)都应该异步执行,避免浏览器失去响应。 在异步模式编程中,我们经常使用回调函数。一不小心就可能写出以下这样的代码: {代码...} 当你的需要异步执行的函数越来越...