Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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¼üÅ̼üÂëÖµ±í


keycode 0 =   
keycode 1 =   
keycode 2 =   
keycode 3 =   
keycode 4 =   
keycode 5 =   
keycode 6 =   
keycode 7 =   
keycode&nb ......

JavaScriptµÄÁíÍâÁ½Öּ̳лúÖÆ

1>zInherit£º
      ËüÊÇÒ»¸ö×é¼þ£¬ÓÃÀ´¼Ì³Ð»ùÀàµÄËùÓÐÊôÐԺͷ½·¨¡£¸úÒÔǰ˵µ½µÄÔ­ÐÍÁ´Ä£Ê½·Ç³£ÀàËÆ£¬Ö»²»¹ý±ÈÔ­Ð͸ü°²È«£¬Ò²ÎÞÐ뿼ÂDzÎÊýÎÊÌâ¡£ÏÂÃæ¿´¿´zInheritµÄÓ÷¨£º
      ¸Ã×é¼þÖÐÖ»ÓÐÁ½¸ö·½·¨£ºinheritfrom() instanceof()
     func ......

javascript½ØÈ¡Â·¾¶ÖеÄÎļþÃû

<!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type"&nb ......

javascriptʵÏּ̳еÄÁ½ÖÖ·½·¨

(Ò»)¶ÔÏóð³ä
function A(name){
    this.name = name;
    this.sayHello = function(){alert(this.name+” say Hello!”);};
}
function B(name,id){
    this.temp = A;
    this.temp(name);      &nbs ......

javascriptµÄwindows.open²ÎÊýѧϰ


<SCRIPT LANGUAGE="javascript">
<!--
window.open ('page.html', 'newwindow', 'height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no')
file://д/³ÉÒ»ÐÐ
-->
</SCRIPT>
²ÎÊý½âÊÍ£º
<SCRIPT LANGUAGE="javascript"&g ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ