对javascript理解

来源:互联网 发布:少儿英语网络课程 编辑:程序博客网 时间:2024/06/05 17:32

           近期在给学校做一个项目(作业提交审核系统),本人以前都是采用Jquery来实现前台的各种脚本效果,但是本项目想采用javascript来实现一下,从而使得自己也对javascript更加的了解。在使用javascript的时候最头痛的是跨浏览器的问题,本人一般是在Firefox下测试,一般的情况下,FX对javascript的支持是最好的,因为它是严格按照W3C标准的浏览器,但是由于在国内使用Firefox的用户远没有使用IE的用户多,所以不得不考虑IE的问题。

           在开发该系统时,我通过使用javascript对CSS的display属性来对页面的部分地方进行呈现控制,在IE和FireFox下测试并无什么不对的(本人的电脑上是IE8)。后来是到我们学校的机房,由于机房的电脑是IE6,问题出现了,那些以前通过使用DISPLAY属性控制的javascript代码都出现了无法识别该属性的错误,我也到网上找了一些,有的人说是display属性在ie下对td没有用,要在讨一个DIV,我也试过,但是有些地方还是没用。被逼的实在是没办法了,于是只要通过使用Jquery的方法(hide和show),创建了两个方法分别对用了在以前的Javascript中document.getElementById().display='none/table-row',其实这两个属性一个是呈现一个是隐藏,此处要提一下display和visibility的区别,前者如果为none,那么将显示内容隐藏并且不占页面的空间,而后者如果为hidden也是将内容隐藏,但是显示内容的地方还占页面的空间,也就是说后者是在原先显示内容的地方是空白的,而前者是将显示内容的空间直接去掉,在页面上没有该块的内容了。言归正传,上面说了通过Jquery的两个方法来替换使用这个document.getElementById().display='none/table-row'的代码,相信大家一定理解是怎么处理的,就是在none的地方调用hide方法,在table-row(或者其他显示方式)使用show方法。这样一来基本解决了在IE6的问题。

          一些使用js的建议:我们通过js对html中的某个元素进行控制时,在获得对象是通常有一下几种方法:getElementById('idname')、getElementByTagName('tagname'),要区分这里两个方法的区别,前者是通过对html中的元素给一个id的属性,通过该id的值来获得指定的对象,一般id在整个html中是唯一的,这种方法是最稳地,最常用的。而后者是通过一个html的标签名来获得一个对象集合,如一个input标签,那么将获得该html中所有input的对象集合,它获得的不是单个对象,而前者是获得页面单个对象,因为id是唯一的。在js中还有其他的获得方法,如一个form的name值来获得等等,这些获得方法都很有可能限制你的js代码跨浏览器的能力,可能不通过什么getElement....方法获得,因为麻烦,其实我们可以通过自己创建一个方法将这个方法封装在其中,而我们自己定义的方法名可以简单点如getObject('idname')......,其实写程序最主要的是使用封装的思想,因为这样能够提高代码的重用能力,一个代码的重用能力不仅影响前期的代码别写,而且还影响后期对代码的维护。其中的封装思想要靠个人的理解能力,本人这方面也不是很好,所以这里就不对该方面进行过多的言论,怕产生误导!再次希望能够给初次接触编程的人带来更多的帮助!谢谢阅读!


原创粉丝点击