ÉîÈëÀí½âJavaScript±Õ°ü
±¾ÎÄת×Ô£ºhttp://www.felixwoo.com/archives/247
×î½üÔÚÍøÉϲéÔÄÁ˲»ÉÙJavascript±Õ°ü(closure)Ïà¹ØµÄ×ÊÁÏ£¬Ð´µÄ´ó¶àÊǷdz£µÄѧÊõºÍרҵ¡£¶ÔÓÚ³õѧÕßÀ´Ëµ±ð˵Àí½â±Õ°üÁË£¬¾ÍÁ¬ÎÄ×ÖÐðÊö¶¼ºÜÄÑ¿´¶®¡£×«Ð´´ËÎĵÄÄ¿µÄ¾ÍÊÇÓÃ×îͨË×µÄÎÄ×Ö½Ò¿ªJavascript±Õ°üµÄÕæʵÃæÄ¿¡£
Ò»¡¢Ê²Ã´ÊDZհü£¿
“¹Ù·½”µÄ½âÊÍÊÇ£º±Õ°üÊÇÒ»¸öÓµÓÐÐí¶à±äÁ¿ºÍ°ó¶¨ÁËÕâЩ±äÁ¿µÄ»·¾³µÄ±í´ïʽ£¨Í¨³£ÊÇÒ»¸öº¯Êý£©£¬Òò¶øÕâЩ±äÁ¿Ò²ÊǸñí´ïʽµÄÒ»²¿·Ö¡£
ÏàÐźÜÉÙÓÐÈËÄÜÖ±½Ó¿´¶®Õâ¾ä»°£¬ÒòΪËûÃèÊöµÄ̫ѧÊõ¡£ÆäʵÕâ¾ä»°Í¨Ë×µÄÀ´Ëµ¾ÍÊÇ£ºJavaScriptÖÐËùÓеÄfunction¶¼ÊÇÒ»¸ö±Õ°ü¡£²»¹ýÒ»°ãÀ´Ëµ£¬Ç¶Ì×µÄfunctionËù²úÉúµÄ±Õ°ü¸üΪǿ´ó£¬Ò²ÊǴ󲿷ÖʱºòÎÒÃÇËùνµÄ“±Õ°ü”¡£¿´ÏÂÃæÕâ¶Î´úÂ룺
function a() {
var i = 0;
function b() {
alert(++i);
}
return b;
}
var c = a();
c();
Õâ¶Î´úÂëÓÐÁ½¸öÌص㣺
º¯ÊýbǶÌ×ÔÚº¯ÊýaÄÚ²¿£»
º¯Êýa·µ»Øº¯Êýb¡£
ÒýÓùØϵÈçͼ£º
ÕâÑùÔÚÖ´ÐÐÍêvar c=a()ºó£¬±äÁ¿cʵ¼ÊÉÏÊÇÖ¸ÏòÁ˺¯Êýb£¬bÖÐÓõ½Á˱äÁ¿i£¬ÔÙÖ´ÐÐc()ºó¾Í»áµ¯³öÒ»¸ö´°¿ÚÏÔʾiµÄÖµ(µÚÒ»´ÎΪ1)¡£Õâ¶Î´úÂëÆäʵ¾Í´´½¨ÁËÒ»¸ö±Õ°ü£¬ÎªÊ²Ã´£¿ÒòΪº¯ÊýaÍâµÄ±äÁ¿cÒýÓÃÁ˺¯ÊýaÄڵĺ¯Êýb£¬¾ÍÊÇ˵£º
µ±º¯ÊýaµÄÄÚ²¿º¯Êýb±»º¯ÊýaÍâµÄÒ»¸ö±äÁ¿ÒýÓõÄʱºò£¬¾Í´´½¨ÁËÒ»¸öÎÒÃÇͨ³£ËùνµÄ“±Õ°ü”¡£
ÈÃÎÒÃÇ˵µÄ¸ü͸³¹Ò»Ð©¡£Ëùν“±Õ°ü”£¬¾ÍÊÇÔÚ¹¹Ô캯ÊýÌåÄÚ¶¨ÒåÁíÍâµÄº¯Êý×÷ΪĿ±ê¶ÔÏóµÄ·½·¨º¯Êý£¬¶øÕâ¸ö¶ÔÏóµÄ·½·¨º¯Êý·´¹ýÀ´ÒýÓÃÍâ²ãÍâ²ãº¯ÊýÌåÖеÄÁÙʱ±äÁ¿¡£ÕâʹµÃֻҪĿ±ê ¶ÔÏóÔÚÉú´æÆÚÄÚʼÖÕÄܱ£³ÖÆä·½·¨£¬¾ÍÄܼä½Ó±£³ÖÔ¹¹Ô캯ÊýÌ嵱ʱÓõ½µÄÁÙʱ±äÁ¿Öµ¡£¾¡¹Ü×ʼµÄ¹¹Ô캯Êýµ÷ÓÃÒѾ½áÊø£¬ÁÙʱ±äÁ¿µÄÃû³ÆÒ²¶¼ÏûʧÁË£¬µ«ÔÚÄ¿ ±ê¶ÔÏóµÄ·½·¨ÄÚȴʼÖÕÄÜÒýÓõ½¸Ã±äÁ¿µÄÖµ£¬¶øÇÒ¸ÃÖµÖ»ÄÜͨÕâÖÖ·½·¨À´·ÃÎÊ¡£¼´Ê¹Ôٴε÷ÓÃÏàͬµÄ¹¹Ô캯Êý£¬µ«Ö»»áÉú³ÉжÔÏóºÍ·½·¨£¬ÐµÄÁÙʱ±äÁ¿Ö»ÊǶÔӦРµÄÖµ£¬ºÍÉÏ´ÎÄǴε÷ÓõÄÊǸ÷×Ô¶ÀÁ¢µÄ¡£
ΪÁ˸üÉî¿ÌµÄÀí½â±Õ°ü£¬ÏÂÃæÈÃÎÒÃǼÌÐø̽Ë÷±Õ°üµÄ×÷ÓúÍЧ¹û¡£
¶þ¡¢±Õ°üÓÐʲô×÷ÓúÍЧ¹û£¿
¼ò¶øÑÔÖ®£¬±Õ°üµÄ×÷ÓþÍÊÇÔÚaÖ´ÐÐÍê²¢·µ»Øºó£¬±Õ°üʹµÃJavascriptµÄÀ¬»ø»ØÊÕ»úÖÆGC²»»áÊÕ»ØaËùÕ¼ÓõÄ×ÊÔ´£¬ÒòΪaµÄÄÚ²¿º¯ÊýbµÄÖ´ÐÐÐèÒªÒÀÀµaÖеıäÁ¿¡£ÕâÊǶԱհü×÷Óõķdz£Ö±°×µÄÃèÊö£¬²»×¨ÒµÒ²²»ÑϽ÷£¬µ«´ó¸ÅÒâ˼¾ÍÊÇÕâÑù£¬Àí½â±Õ°üÐèÒªÑÐò½¥½øµÄ¹ý³Ì¡£
ÔÚÉÏÃæ
Ïà¹ØÎĵµ£º
function openCheck()
{
if (!this.external)
{
app.alert("Acrobat¤Ç¤Ï実ÐФǤ¤Þ¤»¤ó");
this.closeDoc(true);
// var myDoc = event.target;
// myDoc.closeDoc(true);
}
}
openCheck();
ÐèҪעÒâµÄÊÇ:
1. ÉÏÊöµÄsourceÖ»ÄÜÔÚPDF ÓÃAcrobat Reader´ò¿ªÊ±²ÅÆð×÷ÓÃ,
ÈçÓÃIEµÈ´ò¿ªÊ±»á±¨¡¸NotSu ......
<html>
<head>
<title>²âÊÔÊäÈë×Ö·û</title>
<script language=javascript>
String.prototype.lenB =function(){
return this.replace(/[^\x00-\xff]/g,"**").length;
}
function a() ......
ÖÐÎıàÂ룺
function upload() {
var form = document.getElementById('topic');
if ($('uploadfile').value == "") {
alert("ÇëÑ¡ÔñÎļþ£¡");
return;
}
$('uploadfile').value = escape($('uploadfile').value) ......
! È¥³ý×Ö·û´®Á½¶Ë¿Õ¸ñµÄ´¦Àí
¡¡¡¡Èç¹û²ÉÓô«Í³µÄ·½Ê½,¾ÍÒª¿ÉÄܾÍÒª²ÉÓÃÏÂÃæµÄ·½Ê½ÁË
¡¡¡¡//Çå³ý×ó±ß¿Õ¸ñ
¡¡¡¡function js_ltrim(deststr)
¡¡¡¡{
¡¡¡¡if(deststr==null)return "";
¡¡¡¡var pos=0;
¡¡¡¡var retStr=new String(deststr);
¡¡¡¡if (retStr.lenght==0) return retStr;
¡¡¡¡while (retStr.substring(pos, ......
Javascript´úÂë
<script>
var idTmr = "";
function copy(tabid){
var oControlRange = document.body.createControlRange();
oControlRange.add(tabid,0);
oControlR ......