javascript ÄÚ´æÐ¹Â¶¹¤¾ßʹÓÃ
javascriptÄÚ´æÐ¹Â¶µÄÎÊÌâÒ»Ö±ÒÔÀ´¶¼²»Êܵ½´ó¼ÒµÄÖØÊÓ£¬ÔÒòÊǶÔÓû§µÄÓ°ÏìûÓÐ̫ʵ¼ÊµÄ±íÏÖ£¬»òÐí½ü¼¸ÄêÄڴ淢չѸËÙ¡£½Å±¾ÄÚ´æÔÙй¶Ҳ²»»áÓÐÌ«´óÓ°Ïì¡£
µ±È»×÷Ϊǰ¶Ë¿ª·¢µÄͬѧÃÇ£¬¾Í²»ÄÜÓÐÕâÑùµÄ½ÄÐÒÐÄÀí¡£³öÏÖmemory leaksºÜ´ó³Ì¶ÈÉÏÊÇÒòΪ³ÌÐòµÄ²»³ÉÊìºÍ±àÂ벻̫¹æ·¶Ôì³ÉµÄ¡£²»¹ý£¬ÕâÀï¾Í²»ËµÈçºÎ³öÏÖÎÊÌâµÄ£¬¶ÔÎÊÌâµÄ³öÏÖÓÐÐËȤ¿ÉÒԲο¼ÒÔϵØÖ·£º
ÕâÀïÖ÷Ҫ˵˵£¬Ä¿Ç°¼¸¸ö¼ì²éjavascriptÄÚ´æÐ¹Â¶µÄ¹¤¾ßʹÓ÷½·¨:
Ê×ÏÈÎÒÃÇÓõ½µÄ¹¤¾ßÓÐÈý¸ö Drip/sIEve ,Javascript Leaks Detector, leak monitor¡£ÆäÖÐǰÁ½¸öÊÇÓÃÓÚ¼ì²éieµÄ£¬leak monitor ÊÇÓÃÀ´¼ì²éfirefoxµÄÇé¿öµÄ¡£ÕâÀïÖØµã˵һÏÂieϵÄÕâÁ½¸ö¹¤¾ß£¬ÓÉÓÚfirefoxµÄGC»úÖÆ±Èieǿ׳£¬Ö»ÒªieµÄÎÊÌâÏû³ýÁË£¬ÆäËûä¯ÀÀÆ÷»ù±¾Éϲ»»áÓÐʲôÎÊÌâ¡£
1.Drip/sIEve
DripºÍsIEveµÄ×÷ÕßÓ¦¸ÃÊÇͬһ¸öÈË£¬Á¬open souceÉϵÄÏîÄ¿¶¼ÊÇÔÚÒ»ÆðµÄ¡£²»¹ý£¬Æ½Ê±ÎÒÃÇÖ÷ҪʹÓÃsIEve¾Í¿ÉÒÔÁË£¬sIEveµÄ¹¦ÄܱÈDripÇ¿´óһЩ
sIEve ½çÃæºÜ¼òµ¥£¬×ó²à£ºÄÚǶÁËÒ»¸öä¯ÀÀÆ÷¿Ø¼þ£¬ÎÒ¿ÉÒÔ·ÃÎÊÈκÎÍøÖ·£¬Ï·½»¹ÓиöÄÚ´æ¼ì²é£¬ÕâÑùÎÒÃÇ¿ÉÒÔ·½±ã¿´³öÄÚ´æµÄÉý½µÇé¿öÒÔ¼°domʹÓÃÊýÁ¿ÇúÏß¡£
ÓÒ²àÃæ°å£¬ÎÒÃÇ¿ÉÒÔͨ¹ý Show in use ¿´µ½Ä¿Ç°Ò³ÃæÊ¹ÓõÄdomµÄÇé¿ö£¬Show Leaks ¿ÉÒÔ¿´µ½ÄÚ´æÐ¹Â¶µÄdom¡£µ±È»Ã¿´ÎÏÔʾй¶µÄÇé¿ö±ØÐëÊÇÒ³ÃæË¢Ðº󣬿´µ½ÉÏÒ»¸öÒ³ÃæµÄй¶Çé¿ö¡£
ͬʱͨ¹ýÓÒ²àµÄÊý¾ÝÑÕÉ«£¬ÎÒÃÇ¿ÉÒÔ¿´µ½ÄÚ´æµÄÉý½µºÍ¾ßÌåµÄÊýÁ¿¼¶
²»¹ýsIEveµÄ¹¤×÷ÔÀíÊǶÔËùÓÐdom½øÐÐÁËÒ»´Îhack,È»ºó×Ô¼ºÅжÏÄÇЩdomûÓб»Êͷŵô£¬µ«ÊǾßÌåµÄÇé¿ö±È½ÏÄÑ·ÖÎö³öÀ´¡£¶øÇÒ¸ú×ÙÓÐÎÊÌâµÄdomÐèÒªÒ»¶¨¼¼ÇÉ£¬¶ÔÓÚ´óÐ͵ÄÓ¦ÓóÌÐò£¬¸ú×ÙÄѶȴó¡£
²»¹ýÓÃÀ´¼ì²âСģ¿éµÄÄÚ´æÊ¹ÓÃÇé¿ö»¹ÊÇÒ»¸ö²»´íµÄÑ¡Ôñ£¬ÌرðÊÇ´óÏîĿģ¿éϸ·Öºó£¬¶Ôÿ¸öÄ£¿éµÄµ¥¶À²âÊÔ»¹ÊDZȽϲ»´íµÄ
Ð»Ð»âø·ÉͬѧÌáʾµÄÏÂÔØµØÖ·, Drip/sIEveÏÂÔØµØÖ·:
2. Javascript Leaks Detector
ÕâÊÇÀ´×Ô΢ÈíGPDEÍŶӵÄÒ»¸öС¹¤¾ß,ÏÂÃæ¼ò³ÆJLD
¹ÙÍø: http://blogs.msdn.com/gpde/pages/javascript-memory-leak-detector.aspx
°²×°ºó£¬ÎÒÃÇ¿ÉÒÔÔÚieä¯ÀÀÆ÷µÄ ²é¿´->ä¯ÀÀÆ÷À¸ÖÐÕÒµ½
JLDÇ¿´óÖ®´¦ÔÚÓÚÄܹ»Ä£ÄâIE6ºÍIE7µÄGCÇé¿ö£¬ºÍÕæÊµµÄ»ØÊÕÇé¿ö¡£ÕâÑù¿ÉÒÔ×öÒ»¸ö±È½Ï¡£
ÕâÀïͨ³£ÄÜÖ»ÄÜ·´Ó¦IE6ºÍIE7µÄÀíÏëÇé¿ö£¬ÎÒÃÇÐèҪѡÔñÏÂÃæActual LeaksÀ´·´Ó³µ±Ç°ä¯ÀÀÆ÷µÄÕæÊµÇé¿ö¡£
ä¯ÀÀÆ÷ˢкó£
Ïà¹ØÎĵµ£º
1. document.write( " "); Êä³öÓï¾ä
2.JSÖеÄ×¢ÊÍΪ//
3.´«Í³µÄHTMLÎĵµË³ÐòÊÇ:document- >html- >(head,body)
4.Ò»¸öä¯ÀÀÆ÷´°¿ÚÖеÄDOM˳ÐòÊÇ:window- >(navigator,screen,history,location,document)
5.µÃµ½±íµ¥ÖÐÔªËØµÄÃû³ÆºÍÖµ:document.getElementB ......
<SCRIPT LANGUAGE="JavaScript">
var strDate1 = "2003-06-17";
var strDate2 = "2004-09-18";
//var strDate1 = "2003-06-17 03:03:40.0";
//var strDate2 = "2004-09-18 12:03:12.0" ......
DocÁ´½Ó£º http://docs.google.com/Doc?docid=0AZUdXGtQa0xqZGRocmo3MzZfMjA2Y2ZqZ2szZ2g&hl=en
¹Ø¼ü´Ê£ºJavaScript£»¶ÔÏó£»prototype£»prototypeÁ´
ÎÒÃÇÀ´´ò¸ö±È·½°É£º
Ëæ×ŸöÈ˵çÄÔÓ²¼þµÄ°×²Ë¼Û»¯£¬ºÜ¶àÓ²¼þÖÆÔìÉÌ¿ªÊ¼°ïÓû§×öÕû»úDIY¡£ÓÐʱºòÓû§¿ÉÄܻص½“×ܲ¿”È¥×°»ú£¬ÄÇÀï¶«Î÷ºÜÈ«¡£µ«Ò»°ãÕâЩ³§¼Ò ......
ʼþÔ´¶ÔÏó
event.srcElement.tagName
event.srcElement.type
²¶»ñÊÍ·Å
event.srcElement.setCapture();
event.srcElement.releaseCapture();
ʼþ°´¼ü
event.keyCode
event.shiftKey
event.altKey
event.ctrlKey
ʼþ·µ»ØÖµ
event.returnValue
Êó±êλÖÃ
event.x
event.y
´°Ìå»î¶¯ÔªËØ
d ......
1
¡¢±àд
js
º¯Êý
<script
type="text/javascript">
function display(id){
var
traget=document.getElementById(id);
if(traget.style.display=="none"){
&nbs ......