JavaScript 新手24条实用建议[TUTS+](3)

引用: “对象字面符(Objects literals)帮助我们写出支持很多特性,同时又关联性强、简明直接的代码。没必要直接调用新建语句,然后再费心维护声明变量和传递变量的语句之间的正确顺序,等等。” – dyn-web.com

14. 使用[],而不用New Array()

新建数组时的同类型运用。

行得通的写法

复制内容到剪贴板 代码:var a = new Array();
a[0] = "Joe";
a[1] = 'Plumber';

更好的写法

复制内容到剪贴板 代码:var a = ['Joe','Plumber'];

引用: “在JavaScript编程中经常遇到的一个错误是,该用数组时却用了对象,该用对象时却用了数组。规则其实很简单:当属性名是小的连续整数时,你应该使用数组。其他情况,使用对象。” – Douglas Crockford

15. 一长列变量声明?别写那么多var,用逗号吧

复制内容到剪贴板 代码:var someItem = 'some string';
var anotherItem = 'another string';
var oneMoreItem = 'one more string';

更好的写法

复制内容到剪贴板 代码:var someItem = 'some string',
    anotherItem = 'another string',
    oneMoreItem = 'one more string';

…不言自明。我不知道这样做能否提升代码执行速度,但是确实让你的代码干净许多。

17. 千万千万记得写分号

大部分浏览器都允许你不写句尾分号:

复制内容到剪贴板 代码:var someItem = 'some string'
function doSomething() {
  return 'something'
}

之前已经说过,这样做会造成潜在的更大、更难以发现的问题:

更好的写法

复制内容到剪贴板 代码:var someItem = 'some string';
function doSomething() {
  return 'something';
}

18. “For in” 语句

遍历对象时,你可能会发现你还需要获取方法函数。所以遇到这种情况时,请一定记得给你的代码包一层 if 语句,用以过滤信息。

复制内容到剪贴板 代码:for(key in object) {
   if(object.hasOwnProperty(key) {
      ...then do something...
   }
}

引自[/i][i] Douglas Crockford 所作:[/i][i] JavaScript: The Good Parts

19. 使用Firebug的“Timer”功能优化你的代码

想要轻松地快速了解某项操作的用时吗?使用Firebug的timer功能来记录结果好了。

复制内容到剪贴板 代码:function TimeTracker(){
console.time("MyTimer");
for(x=5000; x > 0; x--){}
console.timeEnd("MyTimer");
}

20. 读,读,读……Read, Read, Read…

虽然我是Web开发博客(就像这个!)的超级粉丝,但吃饭和睡觉前除了看好像也别无选择~ 在你的床头柜上摆一本Web开发的好书吧!下列书单都是我的最爱:


(暂无中文版)
JavaScript: The Good Parts中文版
Learning jQuery 1.3(暂无中文版,但你可以看看老版本的中文版
Learning JavaScript中文版


阅读他们…… 反复阅读很多次!我现在都还在读。

21. 自决的函数

相比于调用函数,让函数在页面载入或者某一父函数被调用时自动执行,是十分简单方便的做法。你只需要把你的函数包在父辈之内,然后添上一个额外的括号,本质上这括号就触发了你定义的函数(了解更多)。

复制内容到剪贴板 代码:(function doSomething() {
   return {
      name: 'jeff',
      lastName: 'way'
   };
})();

22. 原生 JavaScript 总是会比使用代码库来的快

诸如jQuery和Mootools这样的JavaScript库,能为你写代码的过程省下不少时间——尤其是当需要 AJAX 操作时。不过你可得记住,只要你的代码写得恰当,原生JavaScript总是会比利用代码库的写法执行得快一些。

jQuery的“each” 方法对于循环操作十分便利,但是使用原生态的for语句总归会快很多。

23. Crockford 的 JSON.Parse

尽管 JavaScript 2会内建JSON处理器,但写这篇文章之时,我们还是需要自己实现。Douglas Crockford,JSON的创建者,已经为我们创作出能直接使用的处理器了。您可以在这里下载

导入这段代码,你就能新建 JSON 全局对象,然后处理你的 .json 文件。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjwgsj.html