关于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 相关文章推荐
Javascript-Mozilla和IE中的一个函数直接量的问题
Jan 09 Javascript
Javascript技术技巧大全(五)
Jan 22 Javascript
js触发asp.net的Button的Onclick事件应用
Feb 02 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
May 08 Javascript
jQuery实现自定义checkbox和radio样式
Jul 13 Javascript
javascript 判断两个日期之差的示例代码
Sep 05 Javascript
超赞的jQuery图片滑块动画特效代码汇总
Jan 25 Javascript
vue.js初学入门教程(1)
Nov 03 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
Jul 04 Javascript
JS+CSS实现网页加载中的动画效果
Oct 27 Javascript
对layui中表单元素的使用详解
Aug 15 Javascript
如何利用node转发请求详解
Sep 17 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 REMOTE_ADDR之获取访客IP的代码
2008/04/22 PHP
php实现汉字验证码和算式验证码的方法
2015/03/07 PHP
php返回相对时间(如:20分钟前,3天前)的方法
2015/04/14 PHP
PHP入门教程之表单与验证实例详解
2016/09/11 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
JS实现打开本地文件或文件夹
2021/03/09 Javascript
nodejs实现获取当前url地址及url各种参数值
2015/06/25 NodeJs
JavaScript转换与解析JSON方法实例详解
2015/11/24 Javascript
js判断某个字符出现的次数的简单实例
2016/06/03 Javascript
JavaScript数组的定义及数字操作技巧
2016/06/06 Javascript
只要1K 纯JS脚本送你一朵3D红色玫瑰
2016/08/09 Javascript
Kotlin学习第一步 kotlin语法特性
2017/05/25 Javascript
vue-router路由参数刷新消失的问题解决方法
2017/06/17 Javascript
利用adb shell和node.js实现抖音自动抢红包功能(推荐)
2018/02/22 Javascript
vue如何安装使用Quill富文本编辑器
2018/09/21 Javascript
Vue项目使用localStorage+Vuex保存用户登录信息
2019/05/27 Javascript
JS实现公告上线滚动效果
2021/01/10 Javascript
pygame学习笔记(5):游戏精灵
2015/04/15 Python
剖析Python的Twisted框架的核心特性
2016/05/25 Python
Python 中 Virtualenv 和 pip 的简单用法详解
2017/08/18 Python
浅谈Python在pycharm中的调试(debug)
2018/11/29 Python
基于python实现KNN分类算法
2020/04/23 Python
Python切片操作去除字符串首尾的空格
2019/04/22 Python
python实现文件的分割与合并
2019/08/29 Python
在python中计算ssim的方法(与Matlab结果一致)
2019/12/19 Python
ALDI奥乐齐官方海外旗舰店:德国百年超市
2017/12/27 全球购物
JPA的特点
2014/10/25 面试题
数控专业应届生求职信
2013/11/27 职场文书
中学生班主任评语
2014/01/30 职场文书
优秀本科生求职推荐信
2014/02/24 职场文书
环保公益广告语
2014/03/13 职场文书
洗车工岗位职责
2014/03/15 职场文书
单位作风建设剖析材料
2014/10/11 职场文书
2016年春季运动会加油稿
2015/07/22 职场文书
导游词之西安骊山
2019/12/03 职场文书
SpringDataJPA在Entity中常用的注解介绍
2021/12/06 Java/Android