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

// 你可以通过类似下面形式的switch语句增强可读性和健壮性

var inspect_me = 0,
    result = ‘‘;
switch (inspect_me) {
case 0:
   result = "zero";
   break;
case 1:
   result = "one";
   break;
default:
   result = "unknown";
}

// 在你比较值和表达式类型的时候始终使用===和!==操作符。
var zero = 0;
if (zero === false) {
   // 不执行,因为zero为0, 而不是false
}
// 用方括号表示法来访问动态属性会更好更简单
// 更好的
var property = "name";
alert(obj[property]);

// 更好的
setTimeout(myFunc, 1000);
setTimeout(function () {
   myFunc(1, 2, 3);
}, 1000);

时间: 2024-10-11 00:31:53

汤姆大叔的博客-高代码效率的相关文章

汤姆大叔的博客-menu

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

汤姆大叔的博客

参考书籍 这里列出的书籍是大叔曾经读过的,也是在整理博文的时候经常参考的书籍,推荐给大家阅读. 初级读物:<JavaScript高级程序设计>:一本非常完整的经典入门书籍,被誉为JavaScript圣经之一,详解的非常详细,最新版第三版已经发布了,建议购买. 中级读物:<JavaScript权威指南>:另外一本JavaScript圣经,讲解的也非常详细,属于中级读物,建议购买.<JavaScript.The.Good.Parts>:Yahoo大牛,JavaScript精

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

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

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

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

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

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

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

汤姆大叔的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