Javascript实例教程(5) 利用Javascript创建对象
上面脚本的输出如下所示:
Patrick was born in 76
and is 22 years old. dedecms.com
Betty was born in 77
and is 21 years old. 内容来自dedecms
Patrick is older than Betty
从输出的结果我们可以看到年份是以两位数字表示的,如1976年只用76来表示。所以你可能想增加“19”到这两位数字的前面。不幸的是,“千年虫”的问题使得你处理起来有点棘手。而不同的浏览器处理Date对象的getYear()方法是不同的。
本文来自织梦
Year(年份)
Navigator浏览器
本文来自织梦
IE 3.x浏览器 内容来自dedecms
IE 4.x浏览器 本文来自织梦
1998
织梦好,好织梦
98 copyright dedecms
98 本文来自织梦
98
copyright dedecms
1999 copyright dedecms
99 织梦内容管理系统
99 织梦内容管理系统
99 织梦好,好织梦
2000
2000 织梦好,好织梦
100
2000 copyright dedecms
2001 织梦好,好织梦
2001
内容来自dedecms
101
2001 本文来自织梦
dedecms.com你可以从上面表格中发现最新的浏览器支持1999年之后四位的年份格式(如2000、2001)。不幸的是,老的浏览器处理年份的格式的时候给程序设计人员无尽的困惑。我经常使用的具体解决方法如下所示,与大家共享: dedecms.com
var thisYear = (new Date()).getYear();
copyright dedecms
thisYear = 1900 (thisYear % 1900); 本文来自织梦
这里(thisYear % 1900)作用是将年份转换位IE 3.x格式并且增加1900以得到真实的年份(比如,2002年经过this Year00转换位IE 3.x格式位102,然后102再加上1900得到2002)。上面这两条语句可以适用于从1900年到3799年的处理,现在看起来这么长的时间是足够使用了。但是,为了避免类似于“千年虫”问题,我们应该再找出更好的解决方案,在本教程中就不给出了。另外,新的ECMA标准包括了一个名为getFullYear()的函数,它是返回完整的年份格式,但是这个函数只能被Navigator 4支持,在IE中是不能使用的。 织梦好,好织梦
最后对程序再做一点改进,我们可以修改People构造器以转换年份为YYYY格式,具体代码如下:
copyright dedecms
this.birthYear = 1900 (((new Date()).getYear() - this.age) % 1900);
在javascript中使用对象的能力通常被许多程序设计人员所忽视。但是从本教程中,你应该可以看到使用对象可以使程序员设计出功能更强大的应用程序来的。
dedecms.com

文章评论
共有位Admini5网友发表了评论 查看完整内容