PHP程序员站--PHP编程开发平台
 当前位置:主页 >> 网页制作 >> Javascript >> 

给JavaScript新手的24条实用建议

给JavaScript新手的24条实用建议

来源:web  作者:  发布时间:2009-06-27
为JavaScript做一点性能小提升吧! 本文列出了24条能让你的代码

 8. 减少全局变量

“把你踩在全局的那些乱七八糟的脚印都归于一人名下,能显著降低与其他应用、小工具或JS库冲突的可能性。” – Douglas Crockford

var name = 'Jeffrey';  
var lastName = 'Way';  
 
function doSomething() {...}  
 
console.log(name); // Jeffrey -- or window.name 
更好的写法:

var DudeNameSpace = {  
   name : 'Jeffrey',  
   lastName : 'Way',  
   doSomething : function() {...}  
}  
console.log(DudeNameSpace.name); // Jeffrey
注意看,我们是如何戏剧化地把“乱七八糟的脚印”都归到“DudeNameSpace”这对象之下的。

9. 写好注释

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

// Cycle through array and echo out each name.   
for(var i = 0, len = array.length; i < len; i++) {  
   console.log(array[i]);  
}
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;



延伸阅读:
新手如何学习PHP?
送给大学毕业生 十个让你成功建议
给软件职场新手的话
PHP开发安全建议20点
提高网站程序性能的十条建议
百度官方帮助中给站长的建站建议
SEO新手需要去掌握的八个SEO技巧
cmd下mysql新手练手实例
新手必看的PHP学习入门的一些基础知识

Tags: js   javascript   新手   建议   建议   新手   代码   javascript   对象   语句   java   ip   C   as  
最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号