易截截图软件、单文件、免安装、纯绿色、仅160KB

JavaScript 中的内存泄漏问题

由于最近自己的FireFox经常出现调用JS脚本时造成内存溢出而产生假死的现象,今天刚好有幸看的IBM网站里这篇文章,而自己现在又在学习JS,看了以后觉得写的非常不错,提到了很多我们平时在编写JS代码时容易造成的错误。现将此文分享给大家!
Internet Explorer 和 Mozilla Firefox 是两个与 JavaScript 中的内存泄漏联系最为紧密的浏览器。两个浏览器中造成这种问题的“罪魁祸首”是用来管理 DOM 对象的组件对象模型。本机 Windows COM 和 Mozilla's XPCOM 都使用引用计数的垃圾收集来进行内存分配和检索。引用计数与用于 JavaScript 的标记-清除式的垃圾收集并不总是能相互兼容。本文侧重介绍的是如何应对 JavaScript 代码中的内存泄漏。
JavaScript 中的内存泄漏
JavaScript 是一种垃圾收集式语言,这就是说,内存是根据对象的创建分配给该对象的,并会在没有对该对象的引用时由浏览器收回。JavaScript 的垃圾收集机制本身并没有问题,但浏览器在为 DOM 对象分配和恢复内存的方式上却有些出入。
Internet Explorer 和 Mozilla Firefox 均使用引用计数来为 DOM 对象处理内存。在引用计数系统,每个所引用的对象都会保留一个计数,以获悉有多少对象正在引用它。如果计数为零,该对象就会被销毁,其占用的内存也会返回给堆。虽然这种解决方案总的来说还算有效,但在循环引用方面却存在一些盲点。
循环引用的问题何在?
当两个对象互相引用时,就构成了循环引用,其中每个对象的引用计数值都被赋 1。在纯垃圾收集系统中,循环引用问题不大:若涉及到的两个对象中的一个对象被任何其他对象引用,那么这两个对象都将被垃圾收集。而在引用计数系统,这两个对象都不能被销毁,原因是引用计数永远不能为零。在同时使用了垃圾收集和引用计数的混合系统中,将会发生泄漏,因为系统不能正确识别循环引用。在这种情况下,DOM 对象和 JavaScript 对象均不能被销毁。清单 1 显示了在 JavaScript 对象和 DOM 对象间存在的一个循环引用。
清单 1. 循环引用导致了内存泄漏
       
  <html>
     <body>
     <script type="text/javascript">
     document.write("circular references between JavaScript and DOM!");
     var obj;
     window.onload = function(){


相关文档:

javascript网页对话框参数详解

N.1 基本介绍:
    * showModalDialog() (IE 4+ 支持),用来创建一个显示HTML内容的模态对话框。
    * showModelessDialog() (IE 5+ 支持) ,用来创建一个显示HTML内容的非模态对话框。
N.2 使用方法:
    * vReturnValue = window.showModalDialog(sURL [, vArgument ......

javascript 在 ie 和 firefox 区别

1.document.formName.item("itemName") 问题
说明:IE下,可以使用document.formName.item("itemName")或document.formName.elements["elementName"];Firefox下,只能使用document.formName.elements["elementName"].
解决方法:统一使用document.formName.elements["elementName"].
JQUERY:
$("#idName")
  &nb ......

Javascript 最简单检测网速的方法和应用


网速很慢,但又得打开 Flash 是一件很痛苦的事情,特别是 Silverlight 来临之际,这个技术可能有点用
具体代码如下
<SCRIPT LANGUAGE="JavaScript">
var starttime = new Date()
</SCRIPT>
<img src="images/ConvLogo.JPG?id=<%Int(37462 * Rnd +&n ......

javascript this 用法

原文地址:http://www.cnblogs.com/daniel-shen/archive/2006/07/12/449280.html
javascript 中this 的用法:
1.<div onclick="// 可以在里面使用this">division element</div> this 指向div
2.    <div id="elmtDiv">division element</div>
    &nbs ......

两个效果蛮好的javascript幻灯片(Jquery slider)

http://css-tricks.com/creating-a-slick-auto-playing-featured-content-slider/
demo:http://css-tricks.com/examples/FeaturedContentSlider/
Featured Content Slider Using jQuery
http://demo.webdeveloperplus.com/featured-content-slider/ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号