优秀的前端程序员与菜鸟差别在哪里?(javascript篇)

来源:互联网 发布:淘宝上回收手机骗局 编辑:程序博客网 时间:2024/06/07 04:49

大家都知道,前端程序员一项重要的技能就是能写出优秀的javascript代码。一个优秀的前端程序员与一个菜鸟程序员在写javascript代码上的差别在哪里呢?下面就来谈一谈我在学习Javascript中的一些心得。

前言

我一直很认同一句话:优秀和平凡就在于习惯。
所以,我认为一个优秀的前端程序员和菜鸟程序员的差别就在编程习惯上。大家都知道对于程序员来说,熬夜是家常便饭,但一个好的编程习惯可以让你不熬夜,为什么?因为我们80%的时间不是用在写代码上,而是用在改bug上,而80%的bug来自于我们的编程习惯。

编程习惯

一听到编程习惯,估计菜鸟又说了不就是习惯吗?我在编程时不听歌,不吃东西,不一心二用,这不就是好的习惯吗?确实,这是好的习惯,但这与我们今天所讲的编程习惯仍有些不同。

在javascript编程良好的编程习惯中我主要讲一个准则和三个建议。

一个准则

一个准则就是“行为与内容分离”。 javascript主要控制html文档的行为,内容就是html文档。行为与内容分离就是javascript代码与html文档要分离开,不要把js代码内嵌在html文档中。

比如:

<input type="button" onclick="fun()"><script type="text/javascript">function fun(){...}</script>

菜鸟写javascript代码时就喜欢这么写,但这种写法是极不推荐的。因为一旦写死,如果以后需要修改的时候就很麻烦,还需要修改html文档的内容。这个例子很简单,可能你觉得修改一个onclick很简单的事,但是如果在几万代码的工程里修改呢!那么你的html文档的内容则会非常庞大,这显然是不希望发生的!

三个建议

三个建议分别是“循序渐进”、“预留退路”、“向后兼容”。

循序渐进:

从最核心的内容开始,逐步添加额外的功能。应该先使用标记语言给核心内容加上正确的标记使其获得正确的结构,然后再逐步充实被加上了正确标记的内容,充实的内容可以是css样式,也可以是通过javascript添加各种操作行为。

简单的说就是不能把很重要的内容通过javascript加到html文档里去,万一碰到浏览器不支持某个javascript函数,那么很重要的内容便显示不出来!

如果你正在使用javascript技术添加核心内容,那么你未免添加它们的时机太迟了—核心内容应该在刚开始编写html文档的时候就成为html文档的一部分。

预留退路:

预留退路就是解决一个问题:如果javascript功能被禁用,会怎么样?

所以你得在你的javascript代码里考虑到如果javacript功能被禁用,我怎样能够最大化的展示我想要展示我的内容,使其免受javascript功能被禁用的影响。

向后兼容:

向后兼容便是能够兼容老版本的浏览器。常见的做法就是进行必要的检查。检查什么?比如如果你要使用某个自带的函数,那么就要检查一下某个函数在老版本里是不是可用。

如:

function displayCite() {    //这三个if语句便是进行必要的检查    if(!document.getElementsByTagName) return false;    if(!document.createElement) return false;    if(!document.createTextNode) return false;   var quote=document.getElementsByTagName('blockquote');   var h2=document.createElement("h2");   var h2_txt=document.createTextNode("source");

总结

可以看出,三个建议都是建立在 “核心内容应该在刚开始编写html文档的时候就成为html文档的一部分。”的基础上。所以不能通过javascript向html文档添加核心内容。

阅读全文
0 0