关于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 同时在IE和FireFox获取KeyCode的代码
Feb 07 Javascript
JavaScript 设计模式 安全沙箱模式
Sep 24 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
Apr 26 Javascript
Html5的placeholder属性(IE兼容)实现代码
Aug 30 Javascript
JavaScript获取表格(table)当前行的值、删除行、增加行
Jul 03 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
Nov 19 Javascript
JS实现根据文件字节数返回文件大小的方法
Aug 02 Javascript
vue+springmvc导出excel数据的实现代码
Jun 27 Javascript
微信小程序实现收货地址左滑删除
Nov 18 Javascript
vue中渲染对象中属性时显示未定义的解决
Jul 31 Javascript
关于angular引入ng-zorro的问题浅析
Sep 09 Javascript
如何优化vue打包文件过大
Apr 13 Vue.js
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中的注释、变量、数组、常量、函数应用介绍
2012/11/16 PHP
web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
2013/06/01 PHP
php数组(array)输出的三种形式详解
2013/06/05 PHP
功能强大的php文件上传类
2016/08/29 PHP
PHP中的使用curl发送请求(GET请求和POST请求)
2017/02/08 PHP
Laravel5.1 框架表单验证操作实例详解
2020/01/07 PHP
js 控制图片大小核心讲解
2013/10/09 Javascript
JS小游戏之极速快跑源码详解
2014/09/25 Javascript
javascript实现百度地图鼠标滑动事件显示、隐藏
2015/04/02 Javascript
javascript使用输出语句实现网页特效代码
2015/08/06 Javascript
原生js制作日历控件实例分享
2016/04/06 Javascript
浅析Angular2子模块以及异步加载
2017/04/24 Javascript
详解angular中的作用域及继承
2017/05/31 Javascript
javascript实现二叉树的代码
2017/06/08 Javascript
JQuery扩展对象方法操作示例
2018/08/21 jQuery
微信小程序实现无限滚动列表
2020/05/29 Javascript
vue 中Virtual Dom被创建的方法
2019/04/15 Javascript
Python中的多重装饰器
2015/04/11 Python
python连接mysql实例分享
2016/10/09 Python
Python 模块EasyGui详细介绍
2017/02/19 Python
Python3.6.0+opencv3.3.0人脸检测示例
2018/05/25 Python
Python模拟百度自动输入搜索功能的实例
2019/02/14 Python
python实现学员管理系统
2019/02/26 Python
Python如何输出整数
2020/06/07 Python
Python实现一个简单的毕业生信息管理系统的示例代码
2020/06/08 Python
HTML5移动开发图片压缩上传功能
2016/11/09 HTML / CSS
HTML高亮关键字的实现代码
2018/10/22 HTML / CSS
HTML5 拖放(Drag 和 Drop)详解与实例代码
2017/09/14 HTML / CSS
九年级家长会邀请函
2014/01/15 职场文书
党员岗位承诺口号大全
2014/03/28 职场文书
群众路线问题查摆对照检查材料
2014/10/04 职场文书
中学生旷课检讨书模板
2014/10/08 职场文书
2014年校长工作总结
2014/12/11 职场文书
单位接收函格式
2015/01/30 职场文书
创业计划书之DIY自助厨房
2019/09/06 职场文书
读《皮囊》有感:理解是对他人的最大的善举
2019/11/14 职场文书