当前位置: 首页 > 图文教程 > 网络编程 > Javascript > FireFox的getYear的注意事项

Javascript
JavaScript中全局变量、函数内变量以及常量表达式的效率测试
写出更好的JavaScript之undefined篇(上)
Javascript 刷新全集常用代码
传智播客学习之java 反射
javascript DOM编程实例(智播客学习)
javascript 在网页中的运用(asp.net)
通过身份证号得到出生日期和性别的js代码
写出更好的JavaScript程序之undefined篇(中)
js获取图片长和宽度的代码
js cookies实现简单统计访问次数
根据鼠标的位置动态的控制层的位置
dropdownlist之间的互相联动实现(显示与隐藏)
javascript select控件间内容互相移动
asp.net下利用js实现返回上一页的实现方法小集
JavaScript 利用StringBuffer类提升+=拼接字符串效率
JS 实现双色表格实现代码
利用JavaScript更改input中radio和checkbox样式
jquery.ui.draggable中文文档
js loading加载效果实现代码
JS 倒计时实现代码(时、分,秒)

Javascript 中的 FireFox的getYear的注意事项


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 176 ::
收藏到网摘: n/a

上个礼拜在整理以前写的一个日历脚本,FF下对年显示的总是有问题,搞了郁闷s。例如如下脚本:在IE下提示“2007”——没有问题!可是在FF下却提示“107”?
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

Google了一下,才明白在FF的getYear返回的是“当前年份-1900”的值(传说以前一直这样处理),而NB的MS却当Year>=2000,直接把减去的1900又加回来了。呵呵,再次佩服IE的容错能力和肚量^_^
最直接的解决办法是 year = (year < 1900) ? (1900 + year) : year;
当然你要判断Browser类型再分类处理也没有问题。
最合理的是将getYear用getFullYear或者getUTCFullYear去调用,你可以改变上面Code框中的相应代码看看效果。