频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

javascript实例教程(5-3)

来源: 作者: 出处:巧巧读书 2006-10-07 进入讨论组

  通过为Person对象重载Person.toString()方法,我们可以将Person对象作为字符串显示出来。每当Person对象被作为字符串引用的时候,pringPerson返回的数值就决定了该显示什么了。

上面脚本的输出如下所示:

Patrick was born in 76

and is 22 years old.


Betty was born in 77

and is 21 years old.


Patrick is older than Betty

从输出的结果我们可以看到年份是以两位数字表示的,如1976年只用76来表示。所以你可能想增加“19”到这两位数字的前面。不幸的是,“千年虫”的问题使得你处理起来有点棘手。而不同的浏览器处理Date对象的getYear()方法是不同的。

Year(年份)

Navigator浏览器

IE 3.x浏览器

IE 4.x浏览器

1998

98

98

98

1999

99

99

99

2000

2000

100

2000

2001

2001

101

2001



你可以从上面表格中发现最新的浏览器支持1999年之后四位的年份格式(如2000、2001)。不幸的是,老的浏览器处理年份的格式的时候给程序设计人员无尽的困惑。我经常使用的具体解决方法如下所示,与大家共享:

var thisYear = (new Date()).getYear();

thisYear = 1900 + (thisYear % 1900);

这里(thisYear % 1900)作用是将年份转换位IE 3.x格式并且增加1900以得到真实的年份(比如,2002年经过this Year%1900转换位IE 3.x格式位102,然后102再加上1900得到2002)。上面这两条语句可以适用于从1900年到3799年的处理,现在看起来这么长的时间是足够使用了。但是,为了避免类似于“千年虫”问题,我们应该再找出更好的解决方案,在本教程中就不给出了。另外,新的ECMA标准包括了一个名为getFullYear()的函数,它是返回完整的年份格式,但是这个函数只能被Navigator 4支持,在IE中是不能使用的。

最后对程序再做一点改进,我们可以修改People构造器以转换年份为YYYY格式,具体代码如下:

this.birthYear = 1900 + (((new Date()).getYear() - this.age) % 1900);

在JavaScript中使用对象的能力通常被许多程序设计人员所忽视。但是从本教程中,你应该可以看到使用对象可以使程序员设计出功能更强大的应用程序来的。巧 巧 读 书:http://www.qqread.com/javascript/c225971.html 更多文章 更多内容请看ASP.NET教程FreeBSD使用教程专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
较早的文章:javascript实例教程(5-2)

较新的文章:javascript实例教程(6-1)
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章