从iterator到generator

2016-07-18
阅读 3 分钟
3.4k
一个对象为了变成可遍历对象,比如说可以用 for ... in 结构遍历其属性值,必须实现 @@iterator 方法, 意思是这个对象(或者它原型链 prototype chain 上的某个对象)必须有一个名字是 Symbol.iterator 的属性。

图片响应式与优化

2016-07-16
阅读 3 分钟
2.8k
图片的响应式的纯 html 实现可以借助 srcset 和 sizes 属性以及 <picture> 元素来实现。而且观察Chrome开发者工具的 Network项可以发现,任何时候当屏幕变化的时候,如果匹配到新的规则需要的图片改变了的话,浏览器会去加载需要的图片。

URLSearchParams 接口

2016-07-15
阅读 2 分钟
11.7k
URLSearchParams 还有三个方法返回迭代器对象:keys() 遍历所有参数名values() 遍历所有参数值entries() 遍历所有参数的键值对

操纵浏览器的历史记录

2016-07-15
阅读 1 分钟
5.1k
window.history.back(); 浏览器返回一页。window.history.forward(); 浏览器前进一页。window.history.go(i); 浏览器前进(后退)i 页,如果 i 为 0 ,则刷新当前页面。window.history.length; 浏览器历史记录栈中一共有多少页。window.history.state; 当前的状态对象

prototype与__proto__

2016-07-14
阅读 2 分钟
2k
对象的 prototype 属性的方法、属性为对象所属的那一“类”所共有。对象原型链通过 __proto__ 属性向上寻找。为 __proto__ 指定 null 之外的原始类型(Number, String, Boolean, undefined, Symbol)值是无效的。通过构造函数或者 {} 方式创建的对象的 prototype 属性默认为 undefined

Array.prototype.map() & null & undefined & delete

2016-05-29
阅读 3 分钟
2.2k
callback is invoked only for indexes of the array which have assigned values, including undefined. It is not called for missing elements of the array (that is, indexes that have never been set, which have been deleted or which have never been assigned a value).

CSS 居中完全指南

2016-05-19
阅读 4 分钟
2.2k
翻译自 [链接] 预先给出这样的样式 {代码...} 水平居中 子元素为 inline 或者 inline-* 元素(例如 text 或者 links) 使用 text-align: center; 的方法 {代码...} 子元素为 block 元素 使用 margin: 0 auto; 的方法 {代码...} 有多个 block 元素 如果你有两个或更多的 block-level 元素需要在一行内居中 方法一: 改变 d...

截断文本问题

2016-05-12
阅读 2 分钟
2.7k
对于固定行高的文本框,我们可以使用纯 CSS 来截断,思路是使用 float 属性,让另一个元素覆盖掉最后的地方效果图如下为了方便理解,添加了背景色区分每一块

jQuery事件、$().css、$('p').each

2016-05-12
阅读 2 分钟
3.1k
Cheat Sheet [链接] $().css $().css 实际上是修改 inline style $('p').each $('p').each 方法可通过 return false 终止 $('*').each 实际上每轮并不是用 jQuery Dom Element 去调用方法 运行 {代码...} 会得到 Event Listening monitorEvents Chrome Dev Tool 提供了一个monitorEvents方法 {代码...} $(target).on(tar...

响应式网站

2016-05-11
阅读 3 分钟
1.6k
浏览器会给出 DIP(device independent pixels) ,而不是 hardware pixels。DIP 实际上联系像素到实际的距离。不管显示器的 pixel density 是怎样,同样的 DIP 会占据同样的空间。

Java泛型

2016-04-27
阅读 2 分钟
2.2k
In Java, generics are only checked at compile time for type correctness. The generic type information is then removed via a process called type erasure, to maintain compatibility with old JVM implementations, making it unavailable at runtime.