• 浏览器兼容性之ECMAScript


    1 IE中不能操作TR标签的innnerHTML。

    2 日期处理函数不一致。

    (1)IE 8- new Date().getYear()返回的是到当前日期到1900年的差值,FF返回的是当前的年。

    (2)在处理构造函数传入的字符串时,如果字符串不符合标准,opera的解析是转化为当前的日期 如,“January 32,2007” 如果这个代码是在2007年1月21号运行,那么构造出的对象就是2007年1月21号,有的浏览器则是转化为2007年2月1号。

    3 使用typeof操作符检测函数时,会返回"function"。Safari 5-以及chrome 7- 在使用typeof检测正则表达式时候返回“function”。ECMA-262在任何内部实现call方法的对象都应该返回“function”,因为上述浏览器对正则表达式也实现 了这个方法,所以返回“function”。但在IE和Firefox中返回“object”。

    4 IE 8-在捕获的错误对象添加到执行环境的对象中,即在catch语句外部也可以访问错误对象,IE 9修复了这个bug。

    5 IE 8-并不把DOM和BOM当做原生对象,所以他们的垃圾回收机制是引用计数法,使用不当会产生循环引用的bug,,内存泄露,影响内存的使用效率。

    var element = document.getElementById('ID');
    var myObject = new Object();
    myObject.element = element;
    element.someObject = myObject;

    IE 9+修复了这个bug。所以最好手动断开JavaScript对象和DOM之间的连接:

    myObject.element = null;
    element.someObject = null;

     6 RegExp:(1)关于exec方法,在使用全局模式匹配时,lastindex会随着exec的执行次数不断发生变化,在IE中即使在非全局模式下也会发生变化。

    (2)

  • 相关阅读:
    truncate、delete和drop的异同点
    改机器名处理
    全文目录
    利用TypePerf.exe
    wait_stats状态初始化
    Android模拟器 SD卡的权限详解
    Android Animation学习笔记
    Android学习笔记
    Android Activity和Intent机制学习笔记
    Android学习笔记33:Intent介绍及Intent在Activity中的使用方法
  • 原文地址:https://www.cnblogs.com/bdbk/p/3910263.html
Copyright © 2020-2023  润新知