关于jsnewDate()出现NaN的分析
分析 关于 出现 nan
2023-06-13 09:14:40 时间
此NaN不为NaN:
程序代码如下:
复制代码代码如下:
程序代码如下:
vardate=newDate(d);
if(!date||!date.getFullYear){
return;
}
returnS.Date.format(d,"yyyy-mm-dd");//格式化函数,跟此文无关
在其他浏览器下正常,但是在ie下,程序报错
在ie调试器下,发现date为NaN,如图:
如果是NaN,那么if判断会返回true,会return"",但是诡异的一幕发生了,
代码说明if判断返回了false,控制台的结果也说明了这一点:
可以看出date=NaN,但是!date为false,!NaN为true,我的第一反应,ie下JS的Bug?
然后又做了一些测试
vardate=NaN;
alert(!date)//返回true
vardate=newDate("2011-1-1");
alert(!date)//返回false
但是我想了一下还是不太对,又在控制台做了下面的测试:
这个说明date的getFullYear是存在的,那么date是个对象
这个也说明了,date是个object而不是NaN,仅仅是ie调试器的一个问题
date.getFullYear()=》NaN
date.getDate()=》NaN
这些NaN则为真正的NaN
总结:
在ie下newDate("datetext")时返回的结果是一个特殊的日期对象,只是ie调试器将之显示成了NaN,对其调用返回number的方法将都会返回NaN.
相关文章
- graphpad prism 9 for Mac(专业医学绘图分析软件)v9.4.1直装版
- 故障分析 | show processlist 引起的性能问题
- Python爬取网易云歌曲评论,做词云分析
- Wireshark分析SSL协议[通俗易懂]
- spawn-fcgi原理及源代码分析
- 关于使用Axis2 webservice 处理Fault响应时抛org.apache.axis2.AxisFault的分析
- CC脚本分析-附IP池
- R语言生存分析:Cox回归
- 关于央行公告的年化利率计算方法的分析
- Nat.Mach.Intell.| 简单的最近邻分析即可达到媲美复杂机器学习模型关于化合物效价预测的准确性
- SQL SERVER中关于exists 和 in的简单分析
- 状态码502和504分析详解程序员
- Redis 命令的复杂性分析(redis命令复杂度)
- Oracle会话与进程:分析差异(oracle会话与进程)
- 机制Redis Java的过期时间机制分析(redisjava过期)
- 进阶教程:用 Python 和 NLTK 进行 NLP 分析
- 微信双开还是微信定时炸弹?- 关于非越狱iOS上微信分身高危插件ImgNaix的分析
- Linux中分析日志的方法(linux分析日志)
- MySQL 单表支持一千万数据,助力大数据存储与分析(mysql一千万单表)
- 故Redis出现的错误事件分析(关于redis错误的事)
- Redis实现验证码保护原理分析(redis验证码原理)
- 科学家对可可基因组中的结构变异进行分析 发现关于植物多样性的线索
- 关于byval与byref的区别分析总结
- 关于若干数据库数据插入性能的对比分析
- 一个关于javascript匿名函数的问题分析
- 关于C++中虚拟继承的一些总结分析
- JS通过分析userAgent属性来判断浏览器的类型及版本
- SQLSERVER中关于exists和in的简单分析