05 2011 档案

摘要:相对于实现需求来说代码的发布部署工作是一项重复的体力劳动,如:代码的压缩、资源URL的替换、资源文件在多台服务器上的同步工作、重启相应Windows服务。对于每次发布部署来说这都是一个固定的流程。显然我们对代码部署这种重复的体力劳动比较不感兴趣,对于实现新需求有更高的积极性。另外作为做程序员,我们这类典型的脑力劳动者除了实现工作中业务需求外,我们也应该要充分利用自身优势,尽可能的通过程序代码来自动化那些可有计算机完成的体力工作。 在这篇博客中介绍了我为改善工作中的代码部署流程,使用WSH、Javascript和Bat实现的一个自动化构建工具。WSH是windows宿主的脚本技术,宿主指的是脚. 阅读全文
posted @ 2011-05-27 22:57 rentj 阅读(1363) 评论(0) 推荐(0) 编辑
摘要:作用域定义了在当前上下文中能够被访问到的成员,在Javascript中分为全局作用域和函数作用域,通过函数嵌套可以实现嵌套作用域。 闭包一般发生在嵌套作用域中。闭包是JavaScript最强大的特性之一,很多高级应用都要依靠闭包实现。如OO的私有成员和模块化等。然而闭包虽然强大,但一般比较占用内存另外如果使用不当还会引起内存泄露,对闭包有了解的jser一般都知道闭包的这些个问题,本文先阐述了闭包和作用域链的关系,然后分析了产生这些个问题的原因。下面是一段闭包的示例代码:var name = "windows's name";var object = { name : 阅读全文
posted @ 2011-05-11 20:02 rentj 阅读(1733) 评论(1) 推荐(1) 编辑
摘要:var ie = !-[1,]; 这句代码在IE9之前曾被称为世界上最短的IE判定代码。代码虽短但确包含了不少javascript基础知识在里面。在这个例子中代码执行时会先调用数组的toString()方法,执行[1,].toString()在IE6,7,8中将会得到“1,”。然后表达式就变为!-“1,”。再尝试把“1,”转换成数值类型得到NaN ,再对NaN取负得到值仍为NaN。最后执行!NaN返回true。下面通过分解这个语句来回顾下代码中所涉及到的javascript知识:浏览器的数组字面量解析差异 [1,]表示使用javascript的数组字面量定义了一个数组。 在IE6,7,8中数组 阅读全文
posted @ 2011-05-06 09:09 rentj 阅读(2501) 评论(13) 推荐(5) 编辑