关于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 相关文章推荐
基于Web标准的UI组件 — 树状菜单(2)
Sep 18 Javascript
javascript之函数直接量(function(){})()
Jun 29 Javascript
js触发asp.net的Button的Onclick事件应用
Feb 02 Javascript
Bootstrap每天必学之按钮(一)
Nov 24 Javascript
深入理解(function(){... })();
Aug 16 Javascript
JS实现复选框的全选和批量删除功能
Apr 05 Javascript
详解vue嵌套路由-params传递参数
May 23 Javascript
BootStrap selectpicker后台动态绑定数据
Jun 01 Javascript
Angular.js前台传list数组由后台spring MVC接收数组示例代码
Jul 31 Javascript
vue中使用cropperjs的方法
Mar 01 Javascript
Vue一次性简洁明了引入所有公共组件的方法
Nov 28 Javascript
vue项目刷新当前页面的三种方法
Dec 04 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生成HTML静态页面实例代码
2008/08/31 PHP
PHP 采集程序 常用函数
2008/12/18 PHP
PHP基础知识介绍
2013/09/17 PHP
jQuery 入门讲解1
2009/04/15 Javascript
jQuery解决下拉框select设宽度时IE 6/7/8下option超出显示不全
2013/05/27 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
常用的jQuery前端技巧收集
2014/12/24 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
2015/12/10 Javascript
AngularJs bootstrap搭载前台框架——基础页面
2016/09/01 Javascript
jQuery Easyui datagrid连续发送两次请求问题
2016/12/13 Javascript
React Native中Navigator的使用方法示例
2017/10/13 Javascript
vue实现2048小游戏功能思路详解
2018/05/09 Javascript
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
three.js搭建室内场景教程
2018/12/30 Javascript
微信小程序学习笔记之获取位置信息操作图文详解
2019/03/29 Javascript
JS正则表达式封装与使用操作示例
2019/05/15 Javascript
在Vue.js中使用TypeScript的方法
2020/03/19 Javascript
Vue Render函数创建DOM节点代码实例
2020/07/08 Javascript
vue 子组件修改data或调用操作
2020/08/07 Javascript
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
Python 匹配任意字符(包括换行符)的正则表达式写法
2009/10/29 Python
python爬虫框架scrapy实战之爬取京东商城进阶篇
2017/04/24 Python
python 制作磁力搜索工具
2021/03/04 Python
英国豪华针织品牌John Smedley的在线销售商:The Outlet by John Smedley
2018/04/08 全球购物
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
Footshop法国:购买运动鞋
2020/01/19 全球购物
大门门卫岗位职责
2013/11/30 职场文书
村官学习十八大感想
2014/01/15 职场文书
学生会主席演讲稿
2014/04/25 职场文书
寻找最美家庭活动方案
2014/08/20 职场文书
学生逃课检讨书1000字
2014/10/20 职场文书
会计工作总结范文2014
2014/12/23 职场文书
企业财务管理制度范本
2015/08/04 职场文书
车间安全生产管理制度
2015/08/06 职场文书
CSS3 制作精美的定价表
2021/04/06 HTML / CSS
OpenCV-Python实现油画效果的实例
2021/06/08 Python