2013年7月,我正式毕业了,到公司入职,也就正式成为了一名菜鸟程序员。到今天,2014年1月3日,目前主要的工作是公司一个项目中的一个功能模块,到我进入项目组算起,已经过了四个月了。因此,想写点东西记录一下自己项目开发期间遇到的问题以及在项目中的收获。
一、问题与解决
1.关于javascript方法中的Date.parse()方法
模块开发过程中,涉及了许多时间的比较,因此采用Date.parse()方法来进行两个时间的比较。在系统里采用的时间格式形如“2013-08-24 10:28”。最初使用Date.parse()方法时,由于习惯了在chrome浏览器下面进行开发,因此时间的比较采用Date.parse()达到了预期的效果。之后,移交测试,测试人员却发现在IE浏览器下面时间的比较却不起作用。测试人员的提出,第一反应就是IE浏览器对于Date.parse()函数的支持除了问题。上网查找了一下Date.parse()方法,在W3School上面找到下面的说明:
同时谷歌了一下Date.parse()方法在IE下调用的问题,网上的资料说是必须将时间中的日期转化为形如“2013/08/24 10:28”这样的形式,因此自己通过一步一步的调试,解决了 Date.parse()方法在IE下面调用的问题。
总结:使用Date.parse()方法时,如果项目需要在IE浏览器中运行的话,时间格式最好形如“2013/08/24 10:28”(主要是日期格式中需要以/作为分隔符,日期中的年月份的排序应该是没有强 制要求的),由于我自己的项目中格式限定的问题,我的解决方法如下代码所示:
var datetime = "2012-11-11 11:11";
datetime = datetime.replace("-","/").replace("-","/");
使用这样的方式,获得的datetime的值为"2012/11/11 11:11"。
2.javascript中的json操作
这是一个比较简单的知识点,我只是写下来记录一下,方便自己以后可以查看。
var temp_json = {"aaa":1,"bbb":2,"ccc":3};
console.log(temp_json.aaa);//输出1
console.log(temp_json.bbb);//输出2
console.log(temp_json.ccc);//输出3
var temp_key = "aaa";
console.log(temp_json[temp_key]);//输出1,即相当于temp_json.aaa的操作。
3.Jquery 使用$.post方法的收获
在项目的开发中,在将前台的数据传递到后台时,使用的方法就是Jquery的$.post方法。在开发的期间,使用$.post()方法遇到的问题主要有:
①调用$.post()方法时最好按照Jquery的规范格式调用,$.post()方法的规范格式为:$.post(url,[data],[callback],[type]),实际上,关于data参数可以不传递,callback函数可以没有操作,只是一个空函数,但是关于type,最好还是将其设置为$.post规定的可以返回的某一类类型。在我的项目中,同一的返回时JSON类型的数据。在项目初期,由于没有设置返回类型,前台获取不到后台操作处理之后返回的结果,因此关于type,最好就是将其设置为某个返回类型。
②在项目开发中,由于post方法是异步操作的,所以当我刚刚开始使用这个方法时,并没有意识到这个问题,只是将其当做一个普通的函数调用,因此将一些需要post方法返回的数据结果的操作语句写在了post方法之后,而不是写在post方法的callback函数中,因此导致系统出现了逾期不到的bug。根据我在项目开发中的经验来说,当我们进行post方法操作之后,最好将相关的数据操作写进post的callback函数操作中,通过后台返回的数据可以更加精准的对前台页面的组件或者数据进行控制与操作。
二、总结:
其实在项目的开发过程中还遇到了其他的形形色色的问题,可惜当时没有开博客,也没有第一时间记下来,印象比较深刻的就是前面提及的几个问题,可能看官们会觉得比较浅显,但是没关系,只是对自己在项目开发中的收获的总结,希望自己记下这些知识点,以后方便查看罢了。几个月的工作下来,最深刻的的体会就是在项目开发过程中要如何的规范自己的代码,编码之前进行思考,编码期间进行修改。不要想着说编码之后再进行优化,因为很多时候,当没有迫切的需求修改时,你可能没有动力去优化你的代码了。编码的过程中记得反思,记得思考,我觉得这就有助于优化代码了。当然,这只是我个人的见解。
PS:这篇记录1月3日写的,一直躺在草稿箱里,今天才敢发布出去,惭愧惭愧!!!