单体 (singleton) 模式是 JavaScript 中最基本但又最有用的模式之一,它可能比其他任何模式都更常用。这种模式提供了一种将代码组织为一个逻辑单元的手段,这个逻辑单元中的代码可以通过单一的变量进行访问。通过确保单体对象只存在一份实例,你就可以确信自己的所有代码使用的都是同样的全局资源。单体类在 JavaScript 中有许多用途。它们可以用来划分命名空间,以减少网页中全局变量的数目。它们还可以在一种名为分支 (branching) 的技术中用来封装浏览器之间的差异(借助分支技术,你在使用各种常用的工具函数时就不必再操心浏览器嗅探的事)。更重要的是,借助于单体模式,你可以把代码组织得更为一致,从而使其更容易阅读和维护。这种模式在 JavaScript 中非常重要,也许比在其他任何语言中都更重要。在网页上使用全局变量有很大的风险,而用单体对象创建的命名空间则是清除这些全局变量的最佳手段之一。仅此一个原因你就该掌握这种模式,更别说它还有许多别的用途。 阅读全文
在 JavaScript 中继承是一个非常复杂的话题,比其他任何面向对象的语言中的继承都复杂得多。在大多数其他面向对象语言中,继承一个类只需要使用一个关键字即可。与它们不同,在 JavaScript 中要想达到传承公用成员的目的,需要采取一系列措施。更有甚者,JavaScript 属于使用原型式继承的少数语言之一。得益于这种语言的灵活性,你既可使用标准的基于类的继承,也可使用更微妙一些的原型式继承。 阅读全文
RequireJS 是一个 JavaScript 文件和模块加载器。它既可以在浏览器环境中使用也可以在其他 JavaScript 环境中使用,例如 Rhino 和 Node。使用模块化脚本加载器如 RequireJS 将提升你们代码的执行速度和质量。RequireJS 兼容 IE6+,Firefox 2+,Safari 3.2+,Chrome 3+,Opera 10+ 。 阅读全文
Javascript 是现在最流行、应用最广泛的语言之一。由于所有现代浏览器都嵌入了 Javascript 解释器,所以在大多数地方都能见到其身影。作为一种语言,它在我们的日常生活中起着非常重要的作用,支持着我们访问的网站,帮助Web呈现出多姿多彩的界面。那为什么有些人还把它看作一种玩具式的语言,认为它不值得职业程序员关注呢?我们认为其原因在于,人们没有认清这种语言的全部能力及其在当今的编程世界中的独特性。Javascript 是一种极富表现力的语言,它具有一些C家族语言所罕见的特性。Javascript 允许你用各种方式完成同样的任务,还允许你在面向对象编程的过程中借用函数式编程中的概念来丰富其实现方式。 阅读全文
简单的说,闭包是一种具有状态的函数。也可以理解为其相关的局部变量在函数调用结束之后将会继续存在。创建闭包的常见方式,就是在一个函数内部创建另一个函数。 阅读全文
Jekyll 是一个简单的博客形态的静态站点生产机器。它有一个模版目录,其中包含原始文本格式的文档,通过 Markdown 以及 Liquid 转化成一个完整的可发布的静态网站,你可以发布在任何你喜爱的服务器上。Jekyll也可以运行在 GitHub Page 上,也就是说,你可以使用 GitHub 的服务来搭建你的项目页面、博客或者网站,而且是完全免费的。 阅读全文