JS技术

JavaScript的小窍门_Javascript教程(2)

字号+ 作者:H5之家 来源:H5之家 2015-10-01 13:22 我要评论( )

可能一开始你会觉得并无必要,但相信我,你将来会主动想要尽可能写好代码的注释的。当你几个月后再回看某项目时,结果却发现很难想起当时写某句东西时脑子在想的什么了,是不是很让人沮丧呢?或者,如果有同事要修

可能一开始你会觉得并无必要,但相信我,你将来会主动想要尽可能写好代码的注释的。当你几个月后再回看某项目时,结果却发现很难想起当时写某句东西时脑子在想的什么了,是不是很让人沮丧呢?或者,如果有同事要修订你的代码呢?一定,一定要为你代码里的重要部分加上注释。
复制内容到剪贴板代码:
// 遍历数组,输出各自名称
for(var i = 0, len = array.length; i < len; i++) {
   console.log(array);
}


10. 试试渐进增强

一定要记得为未启用JavaScript的情况提供替代方案。大家可能会认为,“大部分我的访客都启用了JavaScript的,我才不用担心”。这样的话,你可就大错特错了!

你有没有试过看看禁用JavaScript后你那漂亮的滑动器都成啥样了?(你可以下载 Web Developer ToolBar 轻松完成这项任务。)禁用之后你的网站可能就彻底失去了可用性!经验之谈:开发初期总是按照没有JavaScript来设计你的网站,之后再进行渐进地功能增强,小心翼翼地改变你地布局。


11. 不要传递字串给 “setInterval” 或 “setTimeout”

看看下面的代码:
复制内容到剪贴板代码:
setInterval(
"document.getElementById('container').innerHTML += 'My new number: ' + i", 3000
);
不仅执行不高效,而且和 eval 函数有着同样的高风险。千万不要把字串传递给 setInterval 和 setTimeout。恰当的做法是,传递一个函数名:
复制内容到剪贴板代码:
setInterval(someFunction, 3000);


12. 不要使用with语句

初识之下,“with”语句似乎还挺好用的。它用于设置代码在特定对象中的作用域。其基本用法是提供深入到对象中处理元素的快速写法。例如:
复制内容到剪贴板代码:
with (being.person.man.bodyparts) {
   arms = true;
   legs = true;
}
– 等价于 —
复制内容到剪贴板代码:
being.person.man.bodyparts.arms = true;
being.person.man.bodyparts.legs= true;
不幸的是,测试表明,若你要为对象插入新成员,with的表现非常糟糕,它的执行速度非常缓慢。替代方案是声明一个变量:
复制内容到剪贴板代码:
var o = being.person.man.bodyparts;
o.arms = true;
o.legs = true;


13. 使用 {},而不用New Object()

在JavaScript有多种方式能新建对象。最传统的方法是 new 语句,如下:
复制内容到剪贴板代码:
var o = new Object();
o.name = 'Benhuoer';
o.lastName = 'Yang';
o.someFunction = function() {
   console.log(this.name);
}
不过,这一方法读起来却比较糟糕。我强烈建议你采用下面这种在文字样式上更为强健的写法:

更好的写法
复制内容到剪贴板代码:
var o = {
   name: 'Jeffrey',
   lastName = 'Way',
   someFunction : function() {
      console.log(this.name);
   }
};
注意,如果你想新建一个空对象,用 {} 就能行:
复制内容到剪贴板代码:
var o = {};
引用:
“对象字面符(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...
   }
}


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

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评