NodeJS的Buffer对象剖析

在普通的JS程序中,字符串的操作十分普遍,但由于Node的应用范围还涉及到网络传输,文件系统等,所以对二进制文件的支持就需要用到所谓的Buffer这个概念了。

阅读更多

Backbone 学习 - 2048 游戏的实现思路

Backbone.js 是一个非常有名的轻量级 MV* 框架,虽然其处理能力不及新秀明星 AngularJS ,但对于初学者来说,Angular 显得太重,而 Backbone 作为入门学习是十分合适的。Backbone 的一个很好的教程网站可以参考 Developing Backbone.js Applications 一文,为了有效地学习 Backbone,我决定花点时间利用 Backbone 做一个小型项目,以便熟悉 MV* 和 Backbone。

阅读更多

深入理解立即函数

在 JavaScript 代码中,立即函数的身影随处可见,一方面它很好地隔离了各模块,另一方面它为私有成员变量的存在提供了可能。

阅读更多

Promise & jQuery Deferred

Promise 作为 ES6 规范的一部分,用于简化我们处理异步操作中涉及到的一系列回调操作,使得异步编程得以以更直观的方式书写。本文将探讨 Promise 规范及 jQuery 的 Promise,即 Deferred 对象的实现(不完全遵循规范的实现)。

阅读更多

Node 的 stream 流

NodeJS 中的 stream 是一个非常重要的概念,当进行 IO 操作的时候,我们可以将 IO 读取抽象成流的概念(有读取 IO 流一说)。本文我们分析 Node 中 stream 的概念,并分析如何创建出满足接口的自定义流。

阅读更多

读书笔记-《Pro JavaScript Techniques》

jQuery的作者John Resig写过两本关于JavaScript的书:《Pro JavaScript Techniques》和《Secrets of the JavaScript Ninja》,都是介绍关于JS的一些比较高层次的用法,对于JS进阶大有裨益。本文是我读《Pro》这本书的笔记。

阅读更多

读书笔记-《High Performance JavaScript》

JS是一门脚本语言,其设计之初并没有像Go一样带有与生俱来的性能优势,它最初主要设计用于替代服务器端作简单的合法性验证,因此性能问题并没有在一开始设计的考虑范围之内。但随着Web的发展,JS已经发展得越来越复杂,性能问题也呼之欲出,因此写出高性能的代码很有必要。《High Performance JavaScript》这本书总结了一些JS的坑及可能优化的地方。

阅读更多

HTML5中的原生拖放事件

原生HTML5可实现元素的拖放功能,其中涉及到拖放元素及目标元素(即被放置的元素)。但默认情况下,只有图像与链接是可拖动的,对于其余的元素,需要设置它的draggable属性为true才能开启其可拖动性。在拖放的整个过程中,依次发生的事件有:

阅读更多

Ten Rules of Good/Bad Studying

这是在网上看到的一个帖子,比较有意思,就放在这里了。

阅读更多

JavaScript事件处理

JavaScript用于操纵HTML页面的行为,而它与HTML之间的交互主要就是通过事件进行实现的。无论是Web上,还是传统的界面UI(如QT等),一般都是使用观察者(Observer)模式监听事件并触发行为的发生。JavaScript中的事件分很多种,如文档的load事件,XHR的readystatechange事件,鼠标事件,键盘事件等等。总体来说,一旦事件被触发,回调函数将会自动被调用。

阅读更多