我遇到的蛋疼的JS兼容问题
来源:互联网 发布:网络机顶盒无线连接 编辑:程序博客网 时间:2024/05/29 03:17
一、Date的实例化
这个让我着实蛋疼了一下午。我习惯性的获取了日期的string=“2014-06-20”, 然后又想当然的new Date("2014-06-20")
在chrome, firefox,IE9下ok没问题,很高兴。休息了一会测试报过来ie6、ie7、ie8上js显示数据不对,日期全部显示成"NAN", "not a number";
var m=(new Date("2014-06-20")).getMonth();alert(m)显示NANalert(typeof(m)) 显示number这让我郁闷了一把
然后开始怀疑ie6、7、8下实例化的这个date对象,弹出日期字符串正常。郁闷,难道new Date() 不支持字符串参数声明,可文档里是有的???
后来查到date还有其他的声明方式date(year,month,day),不过这个声明方式太过复杂,如过你date(2014,6,20)生成的日期对象是2014-07-20的,那个月份和日期要做很多判断,
超级麻烦,难道js中就没有一种通用的简单的声明日期对象的方式?如果没有js的设计者就太失败了!
然后就在群里跟那群程序傻冒们讨论,有一个哥们声称曾经“2014/06/20”的方式通过了ie6-8系列,很是怀疑!抱着试试的态度,哇,差点眼泪出来了。
这里要告诉大家的是var d = new Date("2014-06-20");的声明方式是通不过IE6-8的,请改用var d = new Date("2014/06/20");
注意:
我们通常会将“2014-06-20”中的 “-” 替换成 “/”。最初没有去细究js中的replace方法。于是又想当然的str.replace("-","/"),结果js的replace方法是只替换一次,也就是只会将第一个“-”替换,
但是人家是支持正则表达式的,所以如果下次要替换所有“-”的时候就需要str.replace(/\-/g,"/");
自从会了点正则表达式
二、table
- 我遇到的蛋疼的JS兼容问题
- 遇到的浏览器兼容问题
- JS中常遇到的浏览器兼容问题和解决方法
- JS中常遇到的浏览器兼容问题和解决方法
- [JavaScript]JS中常遇到的浏览器兼容问题和解决方法
- JS中常遇到的浏览器兼容问题和解决方法
- 谈谈JS中常遇到的浏览器兼容问题和解决方法
- JS中常遇到的浏览器兼容问题和解决方法
- 谈谈JS中常遇到的浏览器兼容问题和解决方法
- js的兼容问题
- 各浏览器的JS兼容问题
- JS中getYear()的兼容问题
- 关于JS特效的兼容问题。
- js中浏览器的兼容问题
- js中浏览器的兼容问题
- 浏览器中JS的兼容问题
- 我在工作中遇到的JS问题汇总
- 今天遇到的各个浏览器兼容问题
- 输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3
- 编译简单的Vuforia工程
- Android中TabHost动态修改图标或者动态改变标题
- 多项式运算
- android开发之调用手机的摄像头使用MediaRecorder录像并播放
- 我遇到的蛋疼的JS兼容问题
- Java加密技术——数字证书
- (三)描述统计学:数值方法
- 公开的函数把函数作为参数
- FrameLayout中setlayoutparams在 2.3系统 无效的问题.
- 广义线性模型3
- 培养团队核心技能的一些方法
- 怎么将android单个模块源代码导入到eclipse里编译
- POJ2481 Cows