• 一个关于js的内存问题


     1 <script type="text/javascript">
     2     function textChange(id, fn) {
     3         var textarea = document.getElementById(id);
     4         if ("v" == "v") {
     5             textarea.onpropertychange = fn;
     6         }
     7         else {
     8             textarea.addEventListener("input", fn, false);
     9         }
    10     }
    11 
    12     function SetTxt2() { 
    13         document.getElementById("txt2").value = document.getElementById("txt1").value;
    14     }
    15 
    16     function SetTxt1() {
    17         document.getElementById("txt1").value = document.getElementById("txt2").value;
    18     }
    19     onload = function () {
    20         textChange("txt1", SetTxt2);
    21 
    22         textChange("txt2", SetTxt1);
    23     }
    24 </script>
    25 <input type="text" name="" value="" id="txt1" /><br />
    26 <input type="text" name="" value="" id="txt2" />

    这段代码火狐和谷歌Chrome中运行是没有问题的,但是在IE8中运行有问题

    报错:

    出错的原因是因为:火狐和谷歌Chrome对于内存垃圾的处理方式是标记删除,但是IE8部分使用了标记删除,IE8对于DOM的内存垃圾收集方式依旧使用的是引用计数,会出现死循环的问题。IE9修复了这一问题!

    本文版权归作者和博客园共有,来源网址:http://www.cnblogs.com/tq1226112215/
    欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Excel导入
    Git 操作命令
    java线程池
    jquery 初始化数据 添加html 第一次玩0.0
    设计模式六大原则之二:里氏替换原则
    升级指令
    strtok和strtok_r(转载)
    docker进阶之路-基础篇 | 二:portainer安装与基本使用
    docker进阶之路-基础篇 | 一:环境搭建
    集群式Quartz定时任务框架实践
  • 原文地址:https://www.cnblogs.com/tq1226112215/p/3637567.html
Copyright © 2020-2023  润新知