javascript中的对象有String对象、Math对象、Array对象、Date对象等等。
每个对象都有自己的相应的属性和方法。
比如String对象就有属性length,可以知道字符串的长度。Math对象有属性PI,就是圆周率π的值。它们还有自己对应的方法。
比如String的substr()方法,获取子字符串、indexOf(),获取子字符串在字符串中的位置、toUpperCase()将字符串转换成大写、charAt()获取字符串中相应位置的字符。
Math中的方法abs()获得绝对值、ceil()向上取整、floor()向下取整、round()四舍五入。能够灵活的应用这些属性和方法,会对编程有很大的帮助。
比如想获运行程序的文件名,可以通过substr()方法结合lastIndexOf()方法来实现。
var route=window.location.href;//获取路径 var file=route.substr(route.lastIndexOf('/')+1); alert(file);
首先通过window对象,获得长路径。再用lastIndexOf()方法获取最后一个‘/’所在的位置。而这个位置之后的字符串,就是想要的文件名了。通过substr()方法获取了值。substr()方法一般有两个参数,第一个参数表示起始位置,一般从0开始,第二个参数表示要截取字符串的长度,如果没有的话,默认截取到最后一个字符。而substring()方法也有两个参数,区别在于substring()方法的第二个参数不是表示截取的长度,而是表示截取到得位置,举例来说,如果值为4的话,表示截取字符串的位置到4之前,4以及之后的就不能截取了。
下面来比较一下Math对象中的三个方法ceil()、floor()、round(),以及常用的方法parseInt()。它们都可以取整,但又是有所区别的。
ceil()是向上取整,floor()是向下取整,round()是四舍五入取整,而parseInt()则是直接取出小数部分。
下面是比较图:
比如8.5通过ceil()方法处理后得到9,通过floor()方法处理后得到8,通过round()方法处理后的到9(四舍五入),通过parseInt()处理后得到8。
又比如-8.5通过ceil()方法处理后得到-8,通过floor()方法处理后得到-9,通过round()方法处理后得到-8,通过parseInt()方法处理后得到-8。
可以通过一个图表来更加直观的表示它们之间的区别: