Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Javascript±Õ°ü£¨Closure£©

±Õ°ü£¨closure£©ÊÇJavascriptÓïÑÔµÄÒ»¸öÄѵ㣬ҲÊÇËüµÄÌØÉ«£¬ºÜ¶à¸ß¼¶Ó¦Óö¼ÒªÒÀ¿¿±Õ°üʵÏÖ¡£
ÏÂÃæ¾ÍÊÇÎÒµÄѧϰ±Ê¼Ç£¬¶ÔÓÚJavascript³õѧÕßÓ¦¸ÃÊǺÜÓÐÓõġ£
Ò»¡¢±äÁ¿µÄ×÷ÓÃÓò
ÒªÀí½â±Õ°ü£¬Ê×ÏȱØÐëÀí½âJavascriptÌØÊâµÄ±äÁ¿×÷ÓÃÓò¡£
±äÁ¿µÄ×÷ÓÃÓòÎ޷ǾÍÊÇÁ½ÖÖ£ºÈ«¾Ö±äÁ¿ºÍ¾Ö²¿±äÁ¿¡£
JavascriptÓïÑÔµÄÌØÊâÖ®´¦£¬¾ÍÔÚÓÚº¯ÊýÄÚ²¿¿ÉÒÔÖ±½Ó¶Áȡȫ¾Ö±äÁ¿¡£
¡¡¡¡var n=999;
¡¡¡¡function f1(){
¡¡¡¡¡¡¡¡alert(n);
¡¡¡¡}
¡¡¡¡f1(); // 999
ÁíÒ»·½Ã棬ÔÚº¯ÊýÍⲿ×ÔÈ»ÎÞ·¨¶ÁÈ¡º¯ÊýÄڵľֲ¿±äÁ¿¡£
¡¡¡¡function f1(){
¡¡¡¡¡¡¡¡var n=999;
¡¡¡¡}
¡¡¡¡alert(n); // error
ÕâÀïÓÐÒ»¸öµØ·½ÐèҪעÒ⣬º¯ÊýÄÚ²¿ÉùÃ÷±äÁ¿µÄʱºò£¬Ò»¶¨ÒªÊ¹ÓÃvarÃüÁî¡£Èç¹û²»Óõϰ£¬Äãʵ¼ÊÉÏÉùÃ÷ÁËÒ»¸öÈ«¾Ö±äÁ¿£¡
¡¡¡¡function f1(){
¡¡¡¡¡¡¡¡n=999;
¡¡¡¡}
¡¡¡¡f1();
¡¡¡¡alert(n); // 999
¶þ¡¢ÈçºÎ´ÓÍⲿ¶ÁÈ¡¾Ö²¿±äÁ¿£¿
³öÓÚÖÖÖÖÔ­Òò£¬ÎÒÃÇÓÐʱºòÐèÒªµÃµ½º¯ÊýÄڵľֲ¿±äÁ¿¡£µ«ÊÇ£¬Ç°ÃæÒѾ­Ëµ¹ýÁË£¬Õý³£Çé¿öÏ£¬ÕâÊǰ첻µ½µÄ£¬Ö»ÓÐͨ¹ý±äͨ·½·¨²ÅÄÜʵÏÖ¡£
ÄǾÍÊÇÔÚº¯ÊýµÄÄÚ²¿£¬ÔÙ¶¨ÒåÒ»¸öº¯Êý¡£
¡¡¡¡function f1(){
¡¡¡¡¡¡¡¡n=999;
¡¡¡¡¡¡¡¡function f2(){
¡¡¡¡¡¡¡¡¡¡¡¡alert(n); // 999
¡¡¡¡¡¡¡¡}
¡¡¡¡}
ÔÚÉÏÃæµÄ´úÂëÖУ¬º¯Êýf2¾Í±»°üÀ¨ÔÚº¯Êýf1ÄÚ²¿£¬Õâʱf1ÄÚ²¿µÄËùÓоֲ¿±äÁ¿£¬¶Ôf2¶¼ÊǿɼûµÄ¡£µ«ÊÇ·´¹ýÀ´¾Í²»ÐУ¬f2ÄÚ²¿µÄ¾Ö²¿±äÁ¿£¬¶Ôf1¾ÍÊDz»¿É¼ûµÄ¡£Õâ¾ÍÊÇJavascriptÓïÑÔÌØÓеēÁ´Ê½×÷ÓÃÓò”½á¹¹£¨chain scope£©£¬×Ó¶ÔÏó»áÒ»¼¶Ò»¼¶µØÏòÉÏѰÕÒËùÓи¸¶ÔÏóµÄ±äÁ¿¡£ËùÒÔ£¬¸¸¶ÔÏóµÄËùÓбäÁ¿£¬¶Ô×Ó¶ÔÏó¶¼ÊǿɼûµÄ£¬·´Ö®Ôò²»³ÉÁ¢¡£
¼ÈÈ»f2¿ÉÒÔ¶ÁÈ¡f1Öеľֲ¿±äÁ¿£¬ÄÇôֻҪ°Ñf2×÷Ϊ·µ»ØÖµ£¬ÎÒÃDz»¾Í¿ÉÒÔÔÚf1Íⲿ¶ÁÈ¡ËüµÄÄÚ²¿±äÁ¿ÁËÂð£¡
¡¡¡¡function f1(){
¡¡¡¡¡¡¡¡n=999;
¡¡¡¡¡¡¡¡function f2(){
¡¡¡¡¡¡¡¡¡¡¡¡alert(n);
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡return f2;
¡¡¡¡}
¡¡¡¡var result=f1();
¡¡¡¡result(); // 999
Èý¡¢±Õ°üµÄ¸ÅÄî
ÉÏÒ»½Ú´úÂëÖеÄf2º¯Êý£¬¾ÍÊDZհü¡£
¸÷ÖÖרҵÎÄÏ×Éϵē±Õ°ü”£¨closure£©¶¨Òå·Ç³£³éÏ󣬺ÜÄÑ¿´¶®¡£ÎÒµÄÀí½âÊÇ£¬±Õ°ü¾ÍÊÇÄܹ»¶ÁÈ¡ÆäËûº¯ÊýÄÚ²¿±äÁ¿µÄº¯Êý¡£
ÓÉÓÚÔÚJavascriptÓïÑÔÖУ¬Ö»Óк¯ÊýÄÚ²¿µÄ×Óº¯Êý²ÅÄܶÁÈ¡¾Ö²¿±äÁ¿£¬Òò´Ë¿ÉÒ԰ѱհü¼òµ¥Àí½â³É“¶¨ÒåÔÚÒ»¸öº¯ÊýÄÚ²¿µÄº¯Êý”¡£
ËùÒÔ£¬ÔÚ±¾ÖÊÉÏ£¬±Õ°ü¾ÍÊǽ«º¯ÊýÄÚ²¿ºÍº¯ÊýÍⲿÁ¬½ÓÆðÀ´µÄÒ»×ùÇÅÁº¡£
ËÄ¡¢±Õ°üµÄÓÃ;
±Õ°ü¿ÉÒÔÓÃÔÚÐ


Ïà¹ØÎĵµ£º

javaScriptÑéÖ¤´úÂ루Óû§Ãû£¬ÃÜÂ룬ÓÊÏ䣩

<script language="javascript">
function IsDigit(cCheck)
{
return (('0'<=cCheck) && (cCheck<='9'));
}
function IsAlpha(cCheck)
{
return ((('a'<=cCheck) && (cCheck<='z')) || (('A'<=cCheck) && (cCheck<='Z')))
}
function IsaNull(cCheck) ......

Javascript¼òÒ×½Ì³Ì 1

¹ØÓÚThis
1. ËüÊÇÒ»¸ö¹Ø¼ü×Ö£¬²¢²»ÊDZäÁ¿Ãû»òÊôÐÔÃû¡£
2. Ëüʵ¼ÊÖ¸functionËù¹ØÁªµÄ¶ÔÏó£¬Èç¹ûfunctionûÓйØÁªÈκζÔÏó£¬ÔòthisÊÇGlobal¶ÔÏó
var msg = 'I am global';
function showMsg(){
alert(this.msg);
};
function nestedShowMsg (){
var nested = function(){
alert(this.msg);
};
nested();  ......

107Ìõjavascript³£ÓÃÓï¾ä

1. document.write( " "); Êä³öÓï¾ä
2.JSÖеÄ×¢ÊÍΪ//
3.´«Í³µÄHTMLÎĵµË³ÐòÊÇ:document- >html- >(head,body)
4.Ò»¸öä¯ÀÀÆ÷´°¿ÚÖеÄDOM˳ÐòÊÇ:window- >(navigator,screen,history,location,document)
5.µÃµ½±íµ¥ÖÐÔªËØµÄÃû³ÆºÍÖµ:document.getElementById( "±íµ¥ÖÐÔªËØµÄID號 ").name(»òvalu ......

javascriptÕýÔò±í´ïʽ(ת)

Ò»£¬¸ÅÊö
1£¬ÕýÔò±í´ïʽ£¬¿ÉÒÔ˵ÊÇÈκÎÒ»ÖÖ±à³ÌÓïÑÔ¶¼ÌṩµÄ»úÖÆ£¬ËüÖ÷ÒªÊÇÌṩÁ˶Ô×Ö·û´®µÄ´¦ÀíÄÜÁ¦¡£
2£¬ÕýÔò±í´ïʽÔÚÒ³Ãæ´¦ÀíÖеÄʹÓó¡¾°£º
1£©±íµ¥ÑéÖ¤¡£Ñé֤ijЩÓò·ûºÏijÖÖ¹æÔò£¬ÀýÈçÓʼþÊäÈë¿ò±ØÐëÊäÈëµÄÊÇÓʼþ¡¢ÁªÏµµç»°ÊäÈë¿òÊäÈëµÄ±ØÐëÊÇÊý×ֵȵÈ
2£©´¦ÀíDOMÄ£ÐÍ¡£ÀýÈçͨ¹ý±í´ïʽ¶¨Î»DOMÖеÄÒ»¸ö¶ÔÏó»òһϵÁ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ