Javascript±Õ°ü(Closure)
ClosureÖÐÎÄ·ÒëΪ±Õ°ü.×ÖÃæÉÏÀ´Àí½â¾ÍÊÇ"·â±ÕµÄ°ü".(ÕâÊÇÒ»¾ä·Ï»°)
±Õ°üÊÇʲô?
ÊéÃæ½âÊÍΪ:
Ëùν“±Õ°ü”£¬Ö¸µÄÊÇÒ»¸öÓµÓÐÐí¶à±äÁ¿ºÍ°ó¶¨ÁËÕâЩ±äÁ¿µÄ»·¾³µÄ±í´ïʽ£¨Í¨³£ÊÇÒ»¸öº¯Êý£©£¬Òò¶øÕâЩ±äÁ¿Ò²ÊǸñí´ïʽµÄÒ»²¿·Ö¡£
ÎÒÈÏΪ±Õ°ü¾ÍÊÇÄܹ»¶Á/дº¯ÊýÄÚ²¿µÄijЩ±äÁ¿µÄ×Óº¯Êý,²¢½«ÕâЩ±äÁ¿±£´æÔÚÄÚ´æÖÐ.
±Õ°üµÄ×÷ÓÃ
ÉÏÃæµÄ¸ÅÄîÖÐÒѾÌáµ½¹ý,Ö÷Òª¾ÍÊÇΪÁ˶Á/
дº¯ÊýÄÚ²¿µÄijЩ±äÁ¿,²¢½«Ëü±£³ÖÔÚÄÚ´æÖÐ.¿ÉÄÜÕâÑù½²Î´±ØÕâôÈÝÒ×Àí½â,ÏÂÃæÈÃÎÒÃÇÀ´¿´Ò»Ð©Àý×Ó:
1,¶ÁÈ¡¾¯²ìµÄÉúÃüÖµ
function PoliceMan() {
//¶¨Òå³õʼÉúÃüÖµ
var lifeEnergy = 100;
//ÏÔʾµ±Ç°ÉúÃüÖµ
function showLifeEnergy() {
alert(lifeEnergy);
}
return showLifeEnergy;
}
//´´½¨Ò»¸ö¾¯²ì
var pm = new PoliceMan();
//ÏÔʾµ±Ç°ÉúÃüÖµ
pm();
2,¶Áд/±£´æ ¾¯²ìµÄÉúÃüÖµ
function PoliceMan() {
//¶¨Òå³õʼÉúÃüÖµ
var lifeEnergy = 100;
//Öе¯¼õÉÙÉúÃüÖµ
InBullet = function(){
lifeEnergy -= 1;
}
//ÏÔʾµ±Ç°ÉúÃüÖµ
function showLifeEnergy() {
alert(lifeEnergy);
}
return showLifeEnergy;
}
//´´½¨Ò»¸ö¾¯²ì
var pm = new PoliceMan();
//ÏÔʾµ±Ç°ÉúÃüÖµ
pm();
//Öе¯¼õÉÙÉúÃüÖµ
InBullet();
//ÏÔʾµ±Ç°ÉúÃüÖµ
pm();
×¢ÒâÊÂÏî
ÓÉÒÔÉÏÀý×ÓÎÒÃÇ¿ÉÒÔ¿´µ½¾¯²ìµÄÉúÃüÖµ±äÁ¿
lifeEnergy»áһֱפÁôÔÚÄÚ´æµ±ÖÐ.Èç¹ûÕâÖÖ·½·¨Ê¹ÓÃÆµ·±,ÄÇôºÜÈÝÒ׾ͰѻúÆ÷µÄÄÚ´æÏûºÄÍê.Òò´Ë½¨ÒéÄÜÓú¯ÊýµÄµØ·½¾Í¾¡Á¿Ê¹Óú¯Êý,¶ø²»ÒªÊ¹ÓÃ
±Õ°ü.
×÷Õߣº·ÊÕ¼
³ö´¦£ºhttp://extjs.org.cn
±¾ÎİæÈ¨¹é×÷ÕߺÍExtJsÖÐÎÄ×ÊѶվ¹²ÓУ¬»¶Ó×ªÔØ£¬µ«Î´¾×÷ÕßͬÒâ±ØÐë±£Áô´Ë¶ÎÉùÃ÷£¬ÇÒÔÚÎÄÕÂÒ³ÃæÃ÷ÏÔλÖøø³öÔÎÄÁ¬½Ó¡£
Ïà¹ØÎĵµ£º
1.DOMÊÇÕë¶ÔXMLµÄ»ùÓÚÊ÷µÄAPI¡£Ê¹ÓÃDOM£¬Ö»Ðè½âÎö´úÂëÒ»´ÎÀ´´´½¨Ò»¸öÊ÷µÄÄ£ÐÍ¡£ÔÚÕâ¸ö³õʼ½âÎö¹ý³ÌÖ®ºó£¬XMLÒѾÍêȫͨ¹ýDOMÄ£ÐͱíÏÖ³öÀ´£¬Í¬Ê±Ò²²»ÔÙÐèÒªÔʼµÄ´úÂë¡£
NB
£ºDOMÊÇÓïÑÔÎ޹صÄAPI£¬Ëü²¢²»ÓëJava¡¢JavaScript»òÆäËûÓïÑ԰󶨡£ ......
Dynamic Scopes ¶¯Ì¬×÷ÓÃÓò
Both the with statement and the catch clause of a try-catch statement, as well as a function containing eval_r(), are all considered to be dynamic scopes. A dynamic scope is one that exists only through execution of code and therefore cannot be det ......
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>five-in-a-raw</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style>
  ......
2¡¢ÔÐÍ·½Ê½Ð´À࣬ÔÐÍ·½Ê½¼Ì³Ð
core js×ÔÉíµÄ¶ÔÏóϵͳ¾ÍÊDzÉÓÃÔÐÍ·½Ê½(prototype based)¼Ì³ÐµÄ¡£»òÕß˵core
jsûÓвÉÓó£¼ûµÄÀà¼Ì³Ð(class
based)ϵͳ£¬¶øÊÇʹÓÃÔÐͼ̳ÐÀ´ÊµÏÖ×Ô¼ºµÄ¶ÔÏóϵͳ¡£¹¤×÷ÖÐÎÒÃÇÒ²¿ÉÒÔÓÃÔÐÍ·½Ê½À´ÊµÏּ̳У¬´úÂ븴ÓÃÒÔ¹¹½¨×Ô¼ºµÄ¹¦ÄÜÄ£¿é¡£
/**
* ¸¸ÀàPolygon:¶à±ßÐÎ
*
*/
functio ......
JavaScriptʼþ´óÈ«
click() ¶ÔÏó.click() ʹ¶ÔÏó±»µã»÷¡£
closed ¶ÔÏó.closed ¶ÔÏó´°¿ÚÊÇ·ñÒѹرÕtrue/false
clearTimeout(¶ÔÏó) Çå³ýÒÑÉèÖõÄsetTimeout¶ÔÏó
clearInterval(¶ÔÏó) Çå³ýÒÑÉèÖõÄsetInterval¶ÔÏó
confirm("ÌáʾÐÅÏ¢") µ¯³öÈ·ÈÏ¿ò£¬È·¶¨·µ»ØtrueÈ¡Ïû·µ»Øfalse
cursor:Ñùʽ ¸ü¸ÄÊó±êÑùÊ ......