JavaScript Closure£¨±Õ°ü£© ÄÇЩÊÂ
1 Ò»ÆðÀ§»óʼÓÚ±äÁ¿µÄ×÷ÓÃÓò
ÇëÏÈ¿´ÏÂÃæµÄ´úÂ룺
ʾÀý1£º
var message = " this is a very simple function ";
function simpleFunc(){
alert(message);
}
±³ºóµÄµÀÀí´ó¼Ò¶¼¶®£¨Èç¹û²»¶®µÄ¿ÉÒÔÏȱðÍùÏ¿´ÁË£©£ºÒ»¸öfunctionÄܹ»·ÃÎÊÆä×ÔÉí¼°Æä¸üÍâ²ãµÄ×÷ÓÃÓòÄڵıäÁ¿¡£
ÇëÔÙ¼ÌÐø¿´ÏÂÃæÕâ¶Î´úÂ룺
ʾÀý2£º
var message = " this is a very simple function ";
function simpleFunc(){
var name = "robin";
function secretFunc(){
return "Hi, "+name+ ", "+message;
}
return secretFunc;
}
var magicFunc = simpleFunc();
var result = magicFunc(); // resultµÄÖµÊÇ: Hi, robin, this is a very simple function
ºÃÁË£¬À§»óµÄµØ·½À´ÁË£¬magicFuncÊÇÒ»¸öglobalµÄ±äÁ¿£¬¾ÓÈ»·ÃÎʵ½ÁËsimpleFuncÄÚ²¿µÄ±äÁ¿'name' £¡£¡ÕâÕýÊÇJavascriptÖ®ÉñÆæµÄ±Õ°üÔÚÆð×÷Óã¬simpleFunc·µ»ØµÄsecretFunc¶ÔÏó¾ÍÊÇÒ»¸ö±Õ°ü£¬ÄÇôµ½µ×ʲôÊDZհü£¿
2 ²¦¿ªÔÆÎí¼ûÇàÌì
¼òÑÔÖ®£¬±Õ°ü¾ÍÊÇfunctionÖеÄfunction¡£
¼òÑÔÖ®£¬±Õ°üµÄ×÷Óãº1£©±£Ö¤function¶ÔÏóÔÚÄÚ´æÖв»±»»ØÊÕ£»2£©·ÃÎÊÆäËüº¯ÊýÄÚ²¿µÄ±äÁ¿¡£
¶ÔÓÚµÚ1£©µãµÄÀí½â¿ÉÒÔ½áºÏ×ÅʾÀý2À´¿´¡£magicFuncÕâ¸öglobal±äÁ¿±£´æÁ˶ÔÓÚsecretFuncµÄÒýÓã¬Òò´ËsecretFunc»áÒ»Ö±ÔÚÄÚ´æÖжø²»»á±»×Ô¶¯»ØÊÕ£»´ËÍ⣬secretFunc×÷ΪsimpleFuncµÄÊôÐÔ£¬simpleFuncÒ²²»»á±»»ØÊÕ¡£
¶ÔÓÚµÚ2£©µãµÄÀí½âÐèÒªÊ×ÏÈ¿´¿´closureµÄ¶¨Òå¡£ÔÚMozillaµÄCore JavaScript 1.5 GuideÖÐÓÐÕâôһ¾ä»°£ºA closure is a special kind of object that combin
Ïà¹ØÎĵµ£º
var arr=['a','b','c'];
¡¡¡¡ÈôҪɾ³ýÆäÖеÄ'b',ÓÐÁ½ÖÖ·½·¨£º
¡¡¡¡1.delete·½·¨:delete arr[1]
¡¡¡¡ÕâÖÖ·½Ê½Êý×鳤¶È²»±ä,´Ëʱarr[1]±äΪundefinedÁË,µ«ÊÇÒ²Óкô¦ÔÀ´Êý×éµÄË÷ÒýÒ²±£³Ö²»±ä,´ËʱҪ±éÀúÊý×éÔªËØ¿ÉÒÔ²ÅÓÃ
¡¡¡¡for(index in arr)& ......
JavaScript²¶»ñ´°¿Ú¹Ø±Õʼþ
¹Ø¼ü×Ö: window.closeʼþ
javascript²¶»ñ´°¿Ú¹Ø±ÕʼþÓÐÁ½ÖÖ·½·¨
1.ÓÃjavascriptÖØÐ¶¨Òå window.onbeforeunload() ʼþ
ÔÚjavascriptÀﶨÒåÒ»¸öº¯Êý¼´¿É
function window.onbeforeunload() { alert("¹Ø±Õ´°¿Ú")}
alert()ʼþ½«»áÔڹرմ°¿ÚǰִÐУ¬ÄãÒ²¿ÉÒÔÓà ......
JavaScriptÖд´½¨¶ÔÏóµÄ·½·¨ÈçÏ£º
Ò»¡¢´´½¨¼òµ¥¶ÔÏó£º
×î¼òµ¥µÄ´´½¨¶ÔÏóµÄ·½·¨¾ÍÊÇÓÃÒ»¸öеÄObject£¬È»ºóÏòÆäÖÐÌí¼ÓÄÚÈÝ£º
ÏÖÔÚµ÷ÓÃmyObject.say(),½«µ¯³ö’gao’µÄ¾¯¸æ¿ò¡£
var myObject = new Object();
myObject.name = ‘gao’;
myObject.say = function(){
alert ......
///ÏÂÃæÊǶÔAccessµÄÁ´½Ó
function getCountfromDB() {
//ÒÔµ±Ç°Ò³ÃæÎļþΪ»ù´¡£¬ÕÒµ½ÎļþËùÔڵľø¶Ô·¾¶¡£
var filePath = location.href.substring(0, location.href.indexOf("Cnt.htm"));
var path = filePath + "MyData.mdb";
//È¥µ ......
prototype¾«²Ê×ÊÁÏ£º
"javascriptÖ®prototype" http://www.cnblogs.com/zouhaijian/archive/2009/03/29/1424592.html(ºÜ¼òÔ¼µ«ÇåÎúµÄ½²ÊöÁËprototypeµÄÓÃ;)
"JavaScript¶ÔÏóÄ£ÐÍ-Ö´ÐÐÄ£ÐÍ" http://w ......