prototype 与 __proto__ 的爱恨情仇 • August 12, 2017
经历了上次的《JavaScript This 的六道坎》 发现编故事有点上瘾,而且记忆效果也不错哈哈,今天继续唠叨一下 prototype 与 __proto__ 的爱恨情仇。 先理解两者的一个本质区别,prototype 是函数独有的,是人为设定的;__proto__ 是所有对象都有的,是继承的。 然后来看一个两个神的故事: 首先在 ECMAScript 星球,万物起源于 the…
巧妙监测元素尺寸变化 • July 15, 2017
在往下读之前不妨先想一下,你会怎么实现?如何知道元素的尺寸发生变化了? 相信很多人第一反应是 resize 事件,但这个只是 document view 变化才会触发。 然后就是轮询,反复查询值变化了没有。开销不是一般的大,但像这样的库(比如这个七年前的)现在还有人用。 最后便是这个,号称 event based…
CSS 属性值计算 • July 03, 2017
属性值的计算可谓是 CSS 101 。然而入门资料从来都是良莠不齐的,当初从畅销书上得来的一些误解,如今整理笔记的时候才发现。这里就结合规范梳理一遍。 一个属性的值在计算时会经过 4 个阶段 Specified values Computed values Used values Actual values Specified values 这里有 3 种可能,满足一种就可以 计算 cascade…
CSS VFM 中易混淆的名词概念 • May 29, 2017
:warning:第一遍看 CSS2.1 VFM(Visual Formatting Model)是看别人整理的笔记,辅助理解很不错,但是在名词概念上作者跳过了一些或者打乱了顺序,所以现在看回文档时发现当初有一些理解不太正确。于是在这篇文章将这些概念系统整理了一遍。 Element 与 Box 第一个概念是 Element (元素)与 Box (盒子)。用 Element…
闲读源码:ScrollingElement Polyfill • April 18, 2016
今天看了这篇文章,讲到 WebKit document.body.scrollTop 的问题。还有这里 Dev.Opera Blog : Fixing the scrollTop bug。 scrollTop, scrollLeft, scrollWidth, scrollHeight 都是跟滚动相关的属性。设置 scrollTop 和 scrollLeft…
ES6 随笔:函数与块级作用域 • March 09, 2015
阅读 Kyle Simpson 《You don't JS: Scope and Closures》第三章过程中的一些随笔
JavaScript 函数名里面有什么? • December 10, 2014
原文:What's in a Function Name?(2014-11-25) 每次为 JSHint 提交代码我都会学到一些 JavaScript 的新东西。最近的一次知识之旅中我接触到了函数对象的 name 属性。 JSHint 有一个很有意思但很少人知道的功能:代码分析报告。当以编程方式使用时,JSHint…
CSS Font 单位 • August 16, 2014
了解 CSS font 各个单位的意义,搜了一些资料。 [1] 绝对单位 cm (centimeter 厘米) mm (millimeter 毫米) in (inch 英寸) pt (point 点) pc (pica 派卡) 相对单位 em (em = 目标元素像素值 / 父元素 font-size 的像素值) [3] ex (约为小写字母 a, c, m, o 之类的高度) [1] px…