易截截图软件、单文件、免安装、纯绿色、仅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 CSS记事

注:"elm"代表某个DOM元素,"xxx"代表某个CSS属性
一、elm.style.xxx  只能获取内联样式里的值
要想获得正确的css值:
IE:elm.currentStyle[xxx]
W3C标准:document.defaultView.getComputedStyle(elm,"")[xxx]
注意:用IE方法返回值可能不是数字,而是auto;用w3c的方法总是会返回数字+单位
三、offsetLeft
......

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中内置对象

JavaScript中提供了一些非常有用的内部对象作为该语言规范的一部分,每一个内部对象都有一些方法和属性。
JavaScript中提供的内部对象按使用方式可以分为动态对象和静态对象。
动态对象:在引用他的属性和方法是,必须使用new关键字创建一个对象实例,然后才可以使用“对象实例名.成员”的格式来访问其属性和方 ......

压缩javascript和css


This document is for establishing build standard for JavaScript and CSS compression
The objective for this document is to establish a companywide JavaScript and CSS compression standard that can be shared crossing multiple SharePoint product development projects. This is the first draft
Overview ......

两个效果蛮好的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号