汤姆大叔的博客

参考书籍

这里列出的书籍是大叔曾经读过的,也是在整理博文的时候经常参考的书籍,推荐给大家阅读。

初级读物
《JavaScript高级程序设计》:一本非常完整的经典入门书籍,被誉为JavaScript圣经之一,详解的非常详细,最新版第三版已经发布了,建议购买。

中级读物
《JavaScript权威指南》:另外一本JavaScript圣经,讲解的也非常详细,属于中级读物,建议购买。
《JavaScript.The.Good.Parts》:Yahoo大牛,JavaScript精神领袖Douglas Crockford的大作,虽然才100多页,但是字字珠玑啊!强烈建议阅读。
《高性能JavaScript》:《JavaScript高级程序设计》作者Nicholas C. Zakas的又一大作。
《Eloquent JavaScript》:这本书才200多页,非常短小,但是改变了我写作的习惯,本书通过几个非常经典的例子(艾米丽姨妈的猫、悲惨的隐士、模拟生态圈、推箱子游戏等等)来介绍JavaScript方方面面的知识和应用方法,非常值得一读,同时这本书的中文版也是大叔翻译的,点击屏幕右上角可以订购,希望大家多多支持。

高级读物
《JavaScript Patterns 》:书中介绍到了各种经典的模式,如构造函数、单例、工厂等等,值得学习。
《Pro.JavaScript.Design.Patterns》:Apress出版社讲解JavaScript设计模式的书,非常不错。
《Developing JavaScript Web Applications》:构建富应用的好书,针对MVC模式有较为深入的讲解,同时也对一些流程的库进行了讲解。
《Developing Large Web Applications》:将这本书归结在这里,貌似有点不妥,因为这里不仅有JavaScript方面的介绍,还有CSS、HTML方面的介绍,但是介绍的内容却都非常不错,真正考虑到了一个大型的Web程序下,如何进行JavaScript架构设计,值得一读。

其它参考书籍

《大话设计模式》:博文里关于设计模式的文章,有些总结性的文字来自于此。

《设计模式——可复用面向对象软件的基础》:博文里关于设计模式的文章,有些介绍性和总结性的文章来自于此。

时间: 2024-11-05 11:23:17

汤姆大叔的博客的相关文章

汤姆大叔的博客-menu

1.汤姆大叔的博客http://www.cnblogs.com/tomxu/archive/2011/12/15/2288411.html 关键字:技术,管理,英文,吃喝玩乐,健身,慎独 2.menu 如何编写高质量的js代码例如避免全局变量,使用单变量声明,在循环中预缓存length(长度),遵循代码阅读可维护的代码意味着:可读的,一致的,可预测的,看上去就像是同一个人写的,已记录命名函数表达式的秘密 书写可维护的代码,这关系到底线(营业收入)和开发人员的幸福解决bug=1.花时间理解这个问题

汤姆大叔的博客-编程正例

例如避免全局变量,使用单变量声明,在循环中预缓存length(长度),遵循代码阅读 全局变量描述: 1.a是本地变量 ,但是b确实全局变量 2.JavaScript有隐含的全局概念,意味着你不声明的任何变量都会成为一个全局对象属性(反例) 3.区别:通过var创建的全局变量(任何函数之外的程序中创建)是不能被删除的.无var创建的隐式全局变量(无视是否在函数中创建)是能被删除的. var myglobal = "hello"; // 不推荐写法console.log(myglobal)

汤姆大叔的博客-高代码效率

// 你可以通过类似下面形式的switch语句增强可读性和健壮性 var inspect_me = 0,    result = '';switch (inspect_me) {case 0:   result = "zero";   break;case 1:   result = "one";   break;default:   result = "unknown";} // 在你比较值和表达式类型的时候始终使用===和!==操作符.var

我读汤姆大叔的深入理解js(二)

继续汤姆大叔的js之旅. 揭秘命名函数表达式 函数表达式和函数声明 汤姆大叔在博客中引用ECMA规范:函数声明必须带有标识符,函数表达式可以省略.对于我来说这些概念的东西真是不所适从.还是大叔的实例带劲.上实例如下: function foo(){};//鬼都知道是声明 var bar = function foo(){};//鬼也知道是表达式 new function bar(){}; (function() { function bar(){};//这也是声明 })();这些大家看看应该都很

汤姆大叔 javascript 系列 第20课 最后的5到javascript题目

博客链接:http://www.cnblogs.com/TomXu/archive/2012/02/10/2342098.html 原题: 大叔注:这些题目也是来自出这5个题目的人,当然如果你能答对4个及以上并且想拿高工资的话,请联系我. 找出数字数组中最大的元素(使用Match.max函数) 转化一个数字数组为function数组(每个function都弹出相应的数字) 给object数组进行排序(排序条件是每个元素对象的属性个数) 利用JavaScript打印出Fibonacci数(不使用全

看了汤姆大叔的“你真懂JavaScript吗?”的一些感慨

看了汤姆大叔的“你真懂JavaScript吗?”,里面有5道题目,我都一一作了,然后在chrome的控制台里面运行了一遍,虽然只错了一道,但还是细细读了下答案,在此总结一下,看看是否对大家对这些JavaScript底层的原理都懂了. 题目一(所有全局变量都是window的属性.变量声明提前.变量赋值不会提前) if (!("a" in window)) { var a = 1; } alert(a); 因为在JavaScript在变量声明提前的特性,所以事实上上述代码相当于下面所示:

深入理解JavaScript系列 --汤姆大叔

深入理解JavaScript系列文章,包括了原创,翻译,转载,整理等各类型文章,如果对你有用,请推荐支持一把,给大叔写作的动力. 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 深入理解JavaScript系列(2):揭秘命名函数表达式 深入理解JavaScript系列(3):全面解析Module模式 深入理解JavaScript系列(4):立即调用的函数表达式 深入理解JavaScript系列(5):强大的原型和原型链 深入理解JavaScript系列(6

汤姆大叔的6道js题目

汤姆大叔的6道javascript编程题题解 看汤姆大叔的博文,其中有篇(猛戳这里)的最后有6道编程题,于是我也试试,大家都可以先试试. 1.找出数字数组中最大的元素(使用Math.max函数) 1 2 3 var a = [1, 2, 3, 6, 5, 4]; var ans = Math.max.apply(null, a); console.log(ans);  // 6 这题很巧妙地用了apply,如果不是数组,是很多数字求最大值,我们知道可以这样: 1 2 var ans = Math

你必须知道ASP.NET知识------关于动态注册httpmodule(对不起汤姆大叔)

一.关于动态注册的问题 很多人看过汤姆大叔的MVC之前的那点事儿系列(6):动态注册HttpModule ,其实汤姆大叔没有发现httpmodule动态注册的根本机制在哪里. 亦即:怎么动态注册?为什么能够动态注册? 汤姆大叔给了如下开篇 通过前面的章节,我们知道HttpApplication在初始化的时候会初始化所有配置文件里注册的HttpModules,那么有一个疑问,能否初始化之前动态加载HttpModule,而不是只从Web.config里读取? 答案是肯定的, ASP.NET MVC3