Caching in HTTP 笔记

2020-06-03
阅读 2 分钟
1.1k
HTTP is typically used for distributed information systems, where performance can be improved by the use of response caches.

前端代码规范实践与现状

2020-05-02
阅读 1 分钟
1.1k
因为前端资源紧缺,需要跨小组进行开发支援,那么就得去适应其他项目的“条条框框”。效率上常常会有所下降,更有甚者,在多个项目之间来回切换,常常会把人弄得很疲惫。

前端代码规范与代码风格实践

2019-11-27
阅读 2 分钟
4.1k
通过配置化、自动化手段,帮助团队协作开发时保持代码规范与代码风格一致。 项目信息 核心库:Vue cli-tool: Vue-CLI 代码检查:eslint 格式化工具:prettier prettier 与 eslint 使用 prettier 格式化后的结果,可能并不符合 eslint 的规则,到底如何配置,才能在 vscode 中正常使用 eslint 和 prettier? git 配置 我...

到底如何配置,才能在 vscode 中正常使用 eslint 和 prettier?

2019-06-27
阅读 2 分钟
9.6k
缘起 心中一直有个疑惑,添加 --fix 参数后的 eslint 是否能替代 prettier 作为 JavaScript 格式化工具。 凑巧在网上看到一篇文章《到底如何配置,才能在vscode中正常使用eslint和prettier?》,聊了类似的问题。于是,顺着这个思路,我也来说一说。 定位 eslint The pluggable linting utility for JavaScript and JSX ...

Vue 源码阅读(八) JSX

2019-05-22
阅读 1 分钟
1.6k
Vue 推荐在绝大多数情况下使用模板来创建你的 HTML。然而在一些场景中,你真的需要 JavaScript 的完全编程的能力。这时你可以用渲染函数,它比模板更接近编译器。

Vue 源码阅读(七) bind

2018-10-22
阅读 2 分钟
2.7k
起源 通过 Class 实现代码 {代码...} 代码执行后,缩放浏览器,此时弹窗显示 undefined。 符合预期!! 通过 Vue 实现的代码 {代码...} 缩放浏览器,此时弹框显示 1。 不符合预期!! 代码分析 按常理,绑定事件 this.resize 后,将会丢失 this 所指向的上下文,所以第一个代码执行的结果是 undefined。 因此猜想,在 Vu...

ES2018 学习笔记(4)Unicode 和 ISO 10646

2018-09-19
阅读 1 分钟
1.3k
A conforming implementation of ECMAScript must interpret source text input in conformance with the latest version of the Unicode Standard and ISO/IEC 10646.

ES2018 学习笔记(3)标识符

2018-09-01
阅读 2 分钟
1.3k
An identifier is the name of a variable, function, property, or function argument.

ES2018 学习笔记(2)&& 和 || 的运算优先级

2018-08-07
阅读 2 分钟
2.3k
偶然在网上搜索 js 运算符优先级,几乎每个版本都告诉读者 && 比 || 优先级更高,包括 MSN 这样的权威网站也不例外。

前端实现文件下载

2018-08-06
阅读 3 分钟
5k
之前写了一篇《前端实现图片下载》,大部分场景下,文件下载都可以按照这个思路来实现。 但是,最近遇到了一个新的需求——POST 下载。服务端只支持 POST 请求,而上一篇文章中涉及的大部分场景都是 GET 请求。 服务端实现 以 Node + Koa2 实现为例,服务端返回 excel 文件流 {代码...} 兼容性好的老方案 经典的、兼容性好...

ES2018 学习笔记(1)NumberToString

2018-07-17
阅读 2 分钟
1.8k
7.1.12.1 NumberToString ( m ) 抽象操作 NumberToString 将 Number 类型的变量 m 转换成 String 格式,步骤如下: 如果 m 等于 NaN,则返回字符串 "NaN" 。 如果 m 等于 +0 或 -0,则返回字符串 "0" 。 如果 m 小于 0,则返回字符串 "-" 和 ! NumberToString(-m) 。 如果 m 等于 +∞, 则返回字符串 "Infinity"。 否则,...

es6

2018-04-04
阅读 4 分钟
1.7k
这是 ECMA-262 第六版,ECMAScript 2015 语言规范 HTML 格式的翻译。文档的 PDF 格式的翻译位于 [链接]。PDF 版本是最终确定的规范。在 PDF 版本和 HTML 版本中出现任何不一致的地方都是无心之失。

Vue 源码阅读(六)组件化

2018-03-08
阅读 1 分钟
1.6k
All Vue components are also Vue instances, and so accept the same options object (except for a few root-specific options) and provide the same lifecycle hooks.

Vue 源码阅读(五)响应式实现

2018-03-01
阅读 2 分钟
1.1k
初始化 data、props、computed 时(初始化 render 时还有一些其他内置属性),通过 Object.defineProperty 将属性定义成 get 和 set,并为每个属性绑定一个 Dep 实例。

Vue 源码阅读(四)Object.definePropety 相关的小错误

2018-03-01
阅读 3 分钟
2.1k
当前版本:v2.5.13 Vue 响应的根基建立在 Object 之上,以下内容围绕着 Object.definePropety 展开。 先来看工具函数 def,它接收一个 Object 类型参数 obj src/core/util/lang.js {代码...} 而在定义类 Observer 时,参数 Value 却成了 any 类型。如果传入非 Object 类型的值,调用者未异常处理,代码将中断执行。 src/...

音频视频开发问题总结

2017-10-13
阅读 2 分钟
4.6k
大部分安卓机给 <audio> 或 <video> 标签设置 auto 属性即可;而其它机型(特别是 IOS 系统),则需要在微信 jssdk 加载完毕并触发 ready 事件后,利用 JS 直接调用音频或视频的 play 方法。

前端实现图片下载

2017-08-16
阅读 2 分钟
22.3k
测试说明 Chrome 65.0.3325.181 (64 位) Chrome 69.0.3497.92 (64 位) IE 11.0.9600.19002 (64 位) Firefox 61.0.1 (64 位) 服务端实现下载 通过修改 HTTP 响应头,告诉浏览器这个请求回来的是个附件。以七牛为例子: 这里需要注意两处: Content-disposition 是 MIME 协议的扩展,MIME 协议指示 MIME 用户代理如何显示...

用 node 开发自定义命令

2017-08-15
阅读 1 分钟
3.9k
当前环境 window 7 node v8 npm v5 简单实现 第一步 创建一个 javascript 文件 index.js {代码...} 关键在第一句 #!/usr/bin/env node,开始我看见这个“四不像”的语法实在很别扭 没有添加这句话之前,在 window 下运行,index.js 当文件被打开了 了解下 LINUX上的SHEBANG符号(#!) 是什么 第二步 创建 package.json 文件 ...

html 笔记

2017-08-14
阅读 1 分钟
1.5k
<!DOCTYPE> 不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。在 HTML 4.01 中,<!DOCTYPE> 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。HTML5 不基于 SGML,所以不需要引用 DTD。

glob 笔记

2017-08-09
阅读 2 分钟
1.9k
[...] Matches a range of characters, similar to a RegExp range.If the first character of the range is ! or ^ then it matchesany character not in the range.

CSS 笔记

2017-08-06
阅读 2 分钟
1.7k
组合子(+, >, ~, ' ') 和 否定伪类(:not()) 对特异性没有影响。(但是,在 :not() 内部声明的选择器是会影响优先级)。

简易富文本编辑器

2017-07-19
阅读 3 分钟
5.3k
背景 运营同事在微信公众号发布文章时,常常按照以下步骤操作: 打开“秀米”网 =》 挑选模版 =》 编辑好内容 =》 一键复制代码 打开微信公众平台 =》 新建文章 =》 粘贴到编辑器里 =》 确认发布 紧接着,这个工作多了一块内容 —— 把内容同步到某个产品的触屏网站中。 由于当下还没有资源开发一款类似“秀米”的产品,最终决...

Vue 源码阅读(三)Special Attributes

2017-04-14
阅读 2 分钟
4.6k
The key special attribute is primarily used as a hint for Vue’s virtual DOM algorithm to identify VNodes when diffing the new list of nodes against the old list. Without keys, Vue uses an algorithm that minimizes element movement and tries to patch/reuse elements of the same type in-place as much...

Vue 源码阅读(二)props 属性实现细节

2017-04-13
阅读 4 分钟
5.3k
起因 偶然看到一个有趣的 issue 出于好奇,重新整理了一份测试代码 小结 从结果上来看,给组件设置 props 属性时,如果 type 属性值 是 Boolean 类型,如果没有设置 default 属性,那么默认返回 false 是 String 类型,如果没有设置 default 属性,那么默认返回 undefined 其它类型,同理 String 官方文档 components.ht...

vue 源码阅读(一)

2017-03-14
阅读 4 分钟
3.6k
A 说: 例如自定义组件名大写,而不是Element的前缀形式,更易于在模板中区分原生HTML标签和自定义组件。再如iView禁用input可以这么写<input disable/>, Element文档是这么写的<input :disable-true>,哪个更清晰呢?;二是详细精美的文档,早期甚至好过Element的文档。B 说:1. 组件名支持大驼峰命名法,这...

基于 vue.js 实现图片本地预览 + 裁剪 + 压缩 + 上传的功能(二)

2017-01-09
阅读 2 分钟
10.9k
这一篇要说说裁剪、压缩,这两个功能都要用到 canvas 的能力,canvas 在 IE9 以上浏览器都支持良好,也为 IE9 提供为数不多的可以进行文件操作的 API。

基于 vue.js 实现图片本地预览 + 裁剪 + 压缩 + 上传的功能(一)

2017-01-05
阅读 3 分钟
25.2k
以下代码涉及 Vue 2.0 及 ES6 语法。 目标 纯 javascrpit 实现,兼容ie9及以上浏览器,在本地做好文件格式、长宽、大小的检测,减少浏览器交互。 现实是残酷的,为了兼容Ie9 还是用上了 flash,第二篇来解释解释。 代码结构 {代码...} {代码...} 如何获取图片大小 现代浏览器中十分简单 {代码...} 但 ie9 下暂时没有找到...

Vuex使用总结

2016-10-11
阅读 5 分钟
14.3k
Vuex is a state management pattern + library for Vue.js applications. It serves as a centralized store for all the components in an application, with rules ensuring that the state can only be mutated in a predictable fashion.

vue学习笔记

2016-09-19
阅读 1 分钟
1.3k
概念document fragment

跨域请求

2016-09-11
阅读 1 分钟
1.8k
利用 XDomainRequest 对象为 IE8、IE9 实现跨域资源共享(CORS - Cross Origin Resource Sharing)