关于js new Date() 出现NaN 的分析


Posted in Javascript onOctober 23, 2012

此NaN不为NaN:

程序代码如下:

var date =new Date(d); 
if(!date || !date.getFullYear) { 
return; } 
return S.Date.format(d,'yyyy-mm-dd');//格式化函数,跟此文无关

在其他浏览器下正常,但是在ie下,程序报错
在ie调试器下,发现date 为NaN,如图:
关于js new Date() 出现NaN 的分析

关于js new Date() 出现NaN 的分析

如果是NaN,那么if判断会返回true,会 return "",但是诡异的一幕发生了,

 关于js new Date() 出现NaN 的分析

代码说明if判断返回了false,控制台的结果也说明了这一点:

关于js new Date() 出现NaN 的分析 

可以看出date = NaN,但是 !date 为false,!NaN 为 true,我的第一反应,ie下JS的Bug?
然后又做了一些测试

var date = NaN; 
alert(!date) //返回true 
var date = new Date('2011-1-1'); 
alert(!date) //返回false

但是我想了一下还是不太对,又在控制台做了下面的测试:

关于js new Date() 出现NaN 的分析 

 这个说明date的getFullYear是存在的,那么date是个对象

 关于js new Date() 出现NaN 的分析

这个也说明了,date是个object 而不是 NaN,仅仅是ie调试器的一个问题

date.getFullYear() =》NaN
date.getDate() =》NaN
这些NaN则为真正的NaN
总结 :
在ie下 new Date('date text') 时返回的结果是一个特殊的日期对象,只是ie调试器将之显示成了NaN, 对其调用返回number的方法将都会返回NaN.

Javascript 相关文章推荐
JQuery 简便实现页面元素数据验证功能
Mar 24 Javascript
通用javascript脚本函数库 方便开发
Oct 13 Javascript
jQuery EasyUI 的EasyLoader功能介绍
Sep 12 Javascript
Google 静态地图API实现代码
Nov 19 Javascript
js 关键词高亮(根据ID/tag高亮关键字)案例介绍
Jan 21 Javascript
查看大图功能代码jquery版
Nov 05 Javascript
javascript实现倒计时(精确到秒)
Jun 26 Javascript
node+express制作爬虫教程
Nov 11 Javascript
解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题
Nov 07 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
Dec 09 Javascript
微信小程序之 catalog 切换实现解析
Sep 12 Javascript
AJAX学习笔记
May 18 Javascript
js Dialog 实践分享
Oct 22 #Javascript
JS控件的生命周期介绍
Oct 22 #Javascript
重写javascript中window.confirm的行为
Oct 21 #Javascript
js indexOf()定义和用法
Oct 21 #Javascript
javascript window.confirm确认 取消对话框实现代码小结
Oct 21 #Javascript
基于jquery DOM写的类似微博发布的效果
Oct 20 #Javascript
JS的replace方法介绍
Oct 20 #Javascript
You might like
PHP新手上路(六)
2006/10/09 PHP
推荐一本PHP程序猿都应该拜读的书
2014/12/31 PHP
帝国CMS留言板回复后发送EMAIL通知客户
2015/07/06 PHP
10条php编程小技巧
2015/07/07 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
2015/12/25 PHP
jQuery 1.3 和 Validation 验证插件1.5.1
2009/07/09 Javascript
使用javascript控制cookie显示和隐藏背景图
2014/02/12 Javascript
javascript 原型链维护和继承详解
2014/11/26 Javascript
JS实现跟随鼠标闪烁转动色块的方法
2015/02/26 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
2015/09/21 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
2015/11/25 Javascript
微信小程序 radio单选框组件详解及实例代码
2017/01/10 Javascript
js 去掉字符串前后空格实现代码集合
2017/03/25 Javascript
详解vue.js2.0父组件点击触发子组件方法
2017/05/10 Javascript
使用jQuery实现鼠标点击左右按钮滑动切换
2017/08/04 jQuery
vue过滤器用法实例分析
2019/03/15 Javascript
layui原生表单验证的实例
2019/09/09 Javascript
Python中的localtime()方法使用详解
2015/05/22 Python
python getpass实现密文实例详解
2019/09/24 Python
Python列表切片常用操作实例解析
2019/12/16 Python
Python安装与卸载流程详细步骤(图解)
2020/02/20 Python
Django框架models使用group by详解
2020/03/11 Python
Python sql注入 过滤字符串的非法字符实例
2020/04/03 Python
django实现后台显示媒体文件
2020/04/07 Python
Python计算矩阵的和积的实例详解
2020/09/10 Python
Auguste The Label官网:澳大利亚一家精品女装时尚品牌
2020/06/14 全球购物
执行力心得体会
2013/12/31 职场文书
新驾驶员个人自我评价
2014/01/03 职场文书
25岁生日感言
2014/01/13 职场文书
法人代表授权委托书范文
2014/09/10 职场文书
春秋淹城导游词
2015/02/11 职场文书
辩护词格式
2015/05/22 职场文书
老干部座谈会主持词
2015/07/03 职场文书
2015年终个人政治思想工作总结
2015/11/24 职场文书
企业管理制度设计时要注意的几种“常见病”!
2019/04/19 职场文书
Python实现GIF动图以及视频卡通化详解
2021/12/06 Python