`

js内存的机制

阅读更多

s的对象属性的两种访问方式和对象的内存理解

 

    js对象属性有两种访问方式,代码如下:

      

[html] view plain copy
 
  1. <span style="font-size:18px;"><html>  
  2. <head>  
  3.  <script language="javascript">  
  4.    function Person() {};  
  5.    var p1 = new Person();  
  6.    p1.name = "拉拉";  
  7.    window.alert(p1.name);  
  8.    var al = "na" + "me";  
  9.    window.alert(p1[al]);  
  10.  </script>  
  11. </head>  
  12. <body>  
  13. </body>  
  14. </html></span>  
第二种方式好处在于可以使用字符串拼接,这样可实现属性的动态访问。

 

js对象初始化的小例子:

 

[html] view plain copy
 
  1. <span style="font-size:18px;"><html>  
  2. <head>  
  3. <script language="javascript">  
  4.  function Person(){};  
  5.  var a = new Person();  
  6.  a.age = 10;  
  7.  a.name = "拉拉";  
  8.  var b = a;  
  9.  b.name = "小赖";  
  10.  window.alert(b.age + "b名字:" + b.name + "a名字:" + a.name);  
  11.  b = null;  
  12.   window.alert(a.age + "a名字:" + a.name);  
  13. </script>  
  14. </head>  
  15. <body>   
  16. </body>  
  17. </html></span>  


 

js中的对象回收机制:初始化一个对象时,对象名放在桟中,它指向堆中存放的内容。在js引擎中会有一个表单,存放堆地址和它被引用的次数,如果次数为0,则被回收。这种方式是被动的,js还提供一种主动释放内存的方式。代码为:

 

[html] view plain copy
 
  1. <span style="font-size:18px;"><html>  
  2. <head>  
  3. <script language="javascript">  
  4.  function Person(){};  
  5.  var a = new Person();  
  6.  a.age = 10;  
  7.  a.name = "拉拉";  
  8.  var b = a;  
  9.  b.name = "小赖";  
  10.  window.alert(b.age + "b名字:" + b.name + "a名字:" + a.name);  
  11.  b = null;  
  12.   window.alert(a.age + "a名字:" + a.name);  
  13. </script>  
  14. </head>  
  15. <body>   
  16. </body>  
  17. </html></span>  

delete只是释放对象的属性,不过立即释放,即使还有指向它的对象,也不能访问了,已经被释放掉了。

 

 
分享到:
评论

相关推荐

    JavaScript 内存机制分析

    ### JavaScript内存机制详解 #### 简介 在探索JavaScript内存机制之前,我们先了解一些基础知识。每一种编程语言都有其独特的内存管理机制。例如,C语言提供了低级别的内存管理功能,如`malloc()`和`free()`等函数...

    js内存管理及优化总结和文档

    由于JavaScript是动态类型语言,其内存管理与编译型语言有所不同,因此理解JS的内存管理和优化对于提升应用程序性能至关重要。 **一、JS内存管理** JS的内存管理主要依赖于垃圾收集机制(Garbage Collection, GC)...

    JS 内存检测工具

    除了IEJSLeaksDetector,还有其他一些流行的JavaScript内存检测工具,如Chrome DevTools、Firefox Developer Tools、SAP Memory Inspector等,它们同样可以帮助开发者有效地管理和优化JavaScript应用的内存使用。...

    js内存泄露问题

    JavaScript内存泄漏是一个重要的主题,尤其是在开发复杂且性能敏感的Web应用程序时。JavaScript是一种动态类型语言,它在浏览器环境中运行,并依赖于垃圾收集机制来管理内存。然而,由于一些特性及浏览器实现的差异...

    Js内存泄漏及解决方案

    在JavaScript中,内存泄漏是指由于某种原因导致不再使用的变量或对象仍然占据着内存空间,从而无法被垃圾回收机制(Garbage Collection, GC)释放,这将导致应用程序逐渐消耗更多的内存,最终可能导致性能下降甚至...

    JS内存泄露demo

    在JS中,由于其自动垃圾回收机制,程序员通常不需要手动管理内存。但是,当垃圾回收器无法识别出不再使用的对象时,就会发生内存泄露。 1. **全局变量泄露**:全局变量在整个脚本生命周期内都有效,除非显式设置为...

    Javascript内存泄露

    ### JavaScript内存泄露详解 #### 一、什么是JavaScript内存泄露? 在JavaScript编程中,内存泄露指的是在浏览器中不再使用的变量或对象占用的内存没有被及时回收,导致可用内存逐渐减少的现象。这种现象通常发生...

    javascript 内存泄漏 检测 解决 检测工具 原因分析

    JavaScript内存泄漏是一个重要的编程问题,尤其对于Web应用来说,它可能导致性能下降,用户界面响应变慢,甚至在极端情况下导致应用程序崩溃。理解内存泄漏的原因、如何检测和解决它们是每个JavaScript开发者必备的...

    JS 内存溢出,调试工具介绍

    - **第三方库**:如LeakCanary、memwatch-next等可以帮助检测JavaScript内存泄漏。 总之,理解和掌握JS内存管理及调试工具是解决内存溢出问题的关键。通过定期检查和优化代码,可以有效地预防和解决内存泄漏,提高...

    javascript 数组内存释放

    本篇文章将深入探讨JavaScript数组的内存释放机制,以及如何有效地管理数组内存。 首先,理解JavaScript的内存管理机制至关重要。JavaScript使用了一种称为垃圾回收(Garbage Collection, GC)的自动内存管理系统,...

    JAVASCRIPT实现的CPU内存监控

    JavaScript运行在浏览器环境中,其执行效率和内存管理受到浏览器沙箱机制的限制。每个浏览器对JavaScript的实现可能存在差异,因此在进行CPU和内存监控时,需要考虑兼容性问题。 2. **性能API**: 浏览器提供了`...

    JavaScript内存统计专题图示例

    JavaScript内存统计专题图是一种在Web应用中用于可视化和分析数据集的方法,特别是在GIS(地理信息系统)领域中,SuperMap iClient JavaScript提供了强大的支持。本文将深入探讨如何利用JavaScript实现内存中的统计...

    内存javascript脚本

    ### JavaScript内存管理机制 #### 自动内存管理 JavaScript采用自动内存管理机制,这意味着开发者无需手动分配或释放内存。这一特性简化了编程过程,但也可能导致一些难以察觉的问题,比如内存泄漏。 #### 垃圾...

    JavaScript内存管理相关.docx

    ### JavaScript内存管理详解 #### 一、概述 在现代编程语言中,JavaScript 是一种非常流行的脚本语言,广泛应用于Web开发。与C语言或C++这类底层语言不同,JavaScript 不需要程序员手动管理内存,而是自动地进行...

    JavaScript内存泄漏的处理方式

    在探讨JavaScript内存泄漏的处理方式前,有必要了解内存泄漏的含义。内存泄漏通常指的是程序不再使用的内存未能被释放,导致内存消耗不断上升。即使在高级语言如JavaScript中,这一问题亦可能出现,尽管它拥有垃圾...

    javascript运行机制1

    JavaScript 运行机制是指 JavaScript 代码在浏览器或 Node.js 环境中执行的过程。这个机制涉及到变量作用域、函数执行、上下文创建和垃圾回收等多个方面。 一、全局执行上下文 在 JavaScript 代码执行时,首先创建...

    JS运行机制.xmind.zip

    JavaScript(简称JS)是Web开发中的关键语言,其运行机制对于理解高性能的前端应用至关重要。在浏览器环境中,JS代码的执行涉及到多个线程协同工作,这些线程共同构成了浏览器的运行机制。 首先,我们来详细了解GUI...

    Java的内存机制.docx

    Java的内存机制主要涉及到两个重要的区域:栈内存和堆内存。栈内存主要负责存储基本类型变量和对象的引用,而堆内存则用于存储由new创建的对象和数组。 栈内存(Stack): 栈内存通常用于存储程序执行过程中的局部...

    sIEve-0.0.8-javascript内存泄漏检测工具

    sIEve是一款专门针对JavaScript内存泄漏检测的工具,版本为0.0.8。这款工具的主要目标是帮助开发者识别和定位JavaScript应用中的内存泄漏问题,以优化性能并提高用户体验。sIEve通过深入分析JavaScript运行时的内存...

Global site tag (gtag.js) - Google Analytics