Javascript的内存释放实验心得

213 篇文章 0 订阅
192 篇文章 0 订阅
我以前也看过关于javascript的内存释放的文章,但我从来也没仔细看过。原因:一来我觉得这个东西可有可无,二来,鬼知道这些理论到底有没有科学根据?  
   
  今天我做了一个小小的实验,证实内存释放还是有用的。  
   
  比如有如下程序:  
  var   a   =   new   Array();  
  ..........  
   
  一般a用完了就完了,谁也不会想到去释放a所占用的内存。设想代码:  
  var   a   =   new   Array();  
  ..........  
  a   =   null;  
   
  有没有用呢?我做了一个实验:  
   
  在editplus中编写如下代码:  
  <HTML>  
  <BODY>  
  <SCRIPT   LANGUAGE="JavaScript">  
  //------     使用内存段  
  for   (var   i   =   0;   i   <   100000;   i++)  
  {  
      eval("a"   +   i   +   "=   new   Array();");  
  }  
  //--------释放内存段  
  for   (var   i   =   0;   i   <   100000;   i++)  
  {  
      eval("a"   +   i   +   "=   null;");  
  }  
   
  </SCRIPT>  
  </BODY>  
  </HTML>  
   
  Ctrl+B   运行这个文件以后,我打开win2000的系统监视器,看系统的内存使用情况。结果如下:  
   
  在editplus不运行这个网页前,占用的内存大概为8000多K,如果没有加上释放内存段,运行后editplus大概要运行2-3分钟才完成,内存使用数逐步上升,最终占用内存为24000多K时.  
   
  而加上了释放内存段的代码后,editplus在开始的2-3分钟内,内存也逐步上升,到了24000多K后,内存占用量开始下降,在接下来的2-3分钟内,内存使用量逐步降到了15000多K.  
   
  结论,a   =   new   Array()后,   a   =   null;   释放的确还是有用的,特别是对大型网站。当然,也不是完全释放,比使用前还是要多占一些内存的。   其实,在用完一个数组后,加一个   =   null也不会占用多少时间的,但的确是一个好习惯   :)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript实验报告全文共5页,当前为第1页。JavaScript实验报告全文共5页,当前为第1页。第一次JavaScript实验 JavaScript实验报告全文共5页,当前为第1页。 JavaScript实验报告全文共5页,当前为第1页。 实验主题:内置对象(1) 实验内容: 1. 熟悉JavaScript常见内置对象及其关系; 2. 熟练应用String对象和Array对象; 3. 动手操作: 数组的升序与降序排列练习 1 升序排列代码 <html> <head> <title>数组数字大小排序</title> </head> <body> <p>让数组按照升序降序排列</p> <p>这里写个数组 var array=[89,28,49,654,6758,5768];</p> <p>升序输出:</p> <script type="text/javascript"> var array=[89,28,49,654,6758,5768]; array.sort(function (x,y) { return x-y; }); document.writeln(array); </script> </body> </html> JavaScript实验报告全文共5页,当前为第2页。JavaScript实验报告全文共5页,当前为第2页。 JavaScript实验报告全文共5页,当前为第2页。 JavaScript实验报告全文共5页,当前为第2页。 2降序排列 <html> <head> <title>数组数字大小排序</title> </head> <body> <p>降序排列:</p> <p>这里写个数组 var array=[59,689,62,92,68,10];</p> <p>降序输出</p> <script type="text/javascript"> var array=[59,689,62,92,68,10]; array.sort(function (x,y) { return y-x; }); document.writeln(array); </script> </body> </html> JavaScript实验报告全文共5页,当前为第3页。JavaScript实验报告全文共5页,当前为第3页。 字符串的交叉合并练习 JavaScript实验报告全文共5页,当前为第3页。 JavaScript实验报告全文共5页,当前为第3页。 <html> <head> <title>交叉合并字符串</title> <style> #form{ margin: 0 auto; width:500px; top:100px; height:300px; } </style> <script type="text/javascript"> var reg = "^[A-Za-z0-9]+$"; function check(){ var str1 =document.all.str1.value; var str2 =document.all.str2.value; if(str1==""){ alert("字符串一不允许为空!"); document.all.str1.focus(); return; }else if(!/^[A-Za-z0-9]+$/.test(str1)){ alert("字符串一只能是数字和字母的组合"); document.all.str1.focus(); return; }else if(str2==""){ alert("字符串二不允许为空!"); document.all.str2.focus(); return; }else if(!/^[A-Za-z0-9]+$/.test(str2)){ alert("字符串二只能是数字和字母的组合"); document.all.str2.focus(); return; } var string=""; var font1 = "<font style='color:red;'>"; var font2 = "<font style='color:blue;'>"; var fontend = "</font>"; if(str1.length>=str2.length){ for(var i =0;i<str1.length;i++){ if(i< str2.length){ string += font1+str1[i]+fontend+ font2+ str2[i]+fontend; JavaScript实验报告全文共5页,当前为第4页。JavaScript实验报告全文共5页,当前为第4页。 }else{ JavaScript实验
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值