JavaScript ¹¹Ô캯Êý
myhere
/**
* JavaScript ÊÇÃæÏò¶ÔÏóµÄÓïÑÔ£¬µ«ÊÇËûµÄÃæÏò¶ÔÏó²»ÊÇ»ùÓÚÀàµÄ£¬ÊÇ»ùÓÚÔÐ͵Ä;
* µ«ÊÇËûµÄÒ»Ð©ÌØÐÔ(º¯ÊýÊÇÊý¾Ý)£¬Ê¹µÃËü¿ÉÒÔÄ£Äâ»ùÓÚÀàµÄÃæÏò¶ÔÏ󣬵«ÊÇ JavaScript ²¢²»Ö§³ÖºÍ Java Ò»ÑùµÄÀ࣬
* Òò´Ë JavaScript ÖеÄ"Àà"¿ÉÒÔ³Æ×÷"αÀà"
*/
//
/**
* ¹¹Ô캯Êý: js ÖÐÓÃÀ´ºÍ new ÔËËã·ûÒ»ÆðʹÓõĺ¯Êý³Æ×÷¹¹Ô캯Êý
*
* ¹¹Ô캯Êýͨ³£Ã»Óзµ»ØÖµ£¬¹¹Ô캯Êý³õʼ»¯×÷Ϊ this µÄÖµ´«µÝÀ´µÄ¶ÔÏ󣬲¢ÇÒûÓзµ»ØÖµ£»
*
* È»¶ø£¬Ò»¸ö¹¹Ô캯ÊýÊÇÔÊÐí·µ»ØÒ»¸ö¶ÔÏóµÄÖµµÄ£¬²¢ÇÒ£¬Èç¹ûËûÕâô×ö£¬·µ»ØµÄ¶ÔÏó³ÉΪ new ±í´ïʽµÄÖµ£»
* ÔÚ´ËÇé¿öÏ£¬×÷Ϊ this µÄÖµµÄ¶ÔÏ󽫻ᱻÅׯú¡£
* [ jQuery ÖÐµÄ jQuery.fn.init ¹¹Ô캯ÊýÓзµ»ØÖµ ]
*/
//
function User( name, age){
this.name = name;
this.age = age;
// return; // ·µ»Ø this
// return null; // ·µ»Ø this
// return this;
// return []; // ·µ»Ø []
// return function(){}; // ·µ»Ø Õâ¸ö function£¬Åׯú this
// return false; // ·µ»Ø this
// return new Boolean( false); // ·µ»ØÐ boolean£»Åׯú this
// return 'hello world'; // ·µ»Ø this
// return new String( 'hello world'); // ·µ»Ø н¨µÄ string£¬Åׯú this
// return 2; // ·µ»Ø this
// return new Number( 32); // ·µ»ØÐ嵀 number£¬Åׯú this
}
var me = new User( 'myhere', 23);
/**
* new ÔËËã·ûµÄ¹¤×÷¹ý³Ì
* 1, ´´½¨Ò»¸ö¿Õ¶ÔÏó
* 2, ÉèÖÃÕâ¸ö¶ÔÏóµÄÔÐÍ;Ò»¸ö¶ÔÏóµÄÔÐ;ÍÊÇËûµÄ¹¹Ô캯ÊýµÄ prototype ÊôÐÔµÄÖµ¡£
* ËùÓеĺ¯Êý¶¼ÓÐÒ»¸ö prototype ÊôÐÔ£¬µ±Õâ¸öº¯Êý±»¶¨ÒåµÄʱºò£¬prototype ÊôÐÔ×Ô¶¯µÄ´´½¨ºÍ³õʼ»¯¡£
* prototype ÊôÐԵijõʼ»¯ÖµÊÇÒ»¸ö¶ÔÏó£¬Õâ¸ö¶ÔÏóÖ»ÓÐÒ»¸öÊôÐÔ£¬¾ÍÊÇ constructor£¬ËûÖ¸»Øµ½ºÍÔÐÍÏà¹ØÁªµÄÄǸö¹¹Ô캯Êý
* 3, ½«Õâ¸ö¿Õ¶ÔÏó×÷Ϊ this µÄÖµ´«µÝ¸ø¹¹Ô캯ÊýÀ´Ö´ÐÐÕâ¸ö¹¹Ô캯Êý£¬¼°Óù¹Ô캯Êý³õʼ»¯¶ÔÏó
* 4, ¹¹Ô캯ÊýÊÇ·ñÓÐ return Óï¾ä
ÓÐ return Óï¾ä: (¾ßÌåÇé¿ö¼ûÉÏÃæÀý×Ó)
ÊÇ·ñ return Ò»¸ö¶ÔÏó(×¢Òâ±ØÐëÊǶÔÏó)
ÊÇ£ºÔòʹÓÃÕâ¸ö¶ÔÏó×÷Ϊ new ±í´ïʽµÄÖµ
·ñ£ººöÂÔ return Óï¾ä·µ»Ø¹¹Ô캯Êý³õʼ»¯µÄ¶ÔÏó
ÎÞ return Óï¾ä:
·µ»Ø this
*/
//
//
/**
* ËùÓк¯Êý¶¼ÓÐÒ»¸ö prototype ÊôÐÔ
* ÿ¸ö¶ÔÏó¶¼ÓÐÒ»¸ö construct
Ïà¹ØÎĵµ£º
´ó¼Ò¶¼ÖªµÀ£¬.NETÖÐһЩWeb·þÎñÆ÷¿Ø¼þ½âÎö²¢±àÒ룬×îÖÕ±»äÖȾµÄʱºò£¬ÆäʵÊÇת»¯³ÉÁËÆÕͨµÄhtml¿Ø¼þ£¬±ÈÈç<asp:LinkButton>¿Ø¼þ¾Í±»äÖȾ³ÉÁË<a>êµã¿Ø¼þ£¬ÕâÀïÒª½²µÄDropDownList¿Ø¼þÒ²Ò»Ñù£¬±»äÖȾ³ÉÁËÆÕͨµÄselect¿Ø¼þ£¬ÔÚÈçϵÄasp.netÒ³ÃæÖж¨ÒåÁËÒ»¸öweb·þÎñÆ÷¿Ø¼þDropDownListºÍÒ»¸öÆÕͨµÄselect¿Ø¼þ£¨Ö÷ ......
µÚÒ»ÖÖ:
<!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" content="text/html; charset=utf-8" />
<title>ÎÞ±êÌâÎ ......
×î½üÔÚÍøÉϲéÔÄÁ˲»ÉÙJavascript±Õ°ü(closure)Ïà¹ØµÄ×ÊÁÏ£¬Ð´µÄ´ó¶àÊǷdz£µÄѧÊõºÍרҵ¡£¶ÔÓÚ³õѧÕßÀ´Ëµ±ð˵Àí½â±Õ°üÁË£¬¾ÍÁ¬ÎÄ×ÖÐðÊö¶¼ºÜÄÑ¿´¶®¡£×«Ð´´ËÎĵÄÄ¿µÄ¾ÍÊÇÓÃ×îͨË×µÄÎÄ×Ö½Ò¿ªJavascript±Õ°üµÄÕæÊµÃæÄ¿¡£
Ò»¡¢Ê²Ã´ÊDZհü£¿
“¹Ù·½”µÄ½âÊÍÊÇ£ºËùν“±Õ°ü”£¬Ö¸µÄÊÇÒ»¸öÓµÓÐÐí¶à±äÁ¿ºÍ°ó¶¨Á ......
·Ò룺Ϊ֮Âþ±Ê
Á´½Ó£ºhttp://www.cn-cuckoo.com/2007/08/01/understand-javascript-closures-72.html
¼ò½é
»ùÓÚ¶ÔÏóµÄÊôÐÔÃû½âÎö
ÖµµÄÖ¸¶¨
ÖµµÄ¶ÁÈ¡
±êʶ·û½âÎö¡¢Ö´Ðл·¾³ºÍ×÷ÓÃÓòÁ´
Ö´Ðл·¾³
×÷ÓÃÓòÁ´Óë [[scope]]
±êʶ·û½âÎö
±Õ°ü
×Ô¶¯À¬»øÊÕ¼¯
¹¹³É±Õ°ü
ͨ¹ý±Õ°ü¿ÉÒÔ×öʲô£¿
Àý 1£ºÎªº¯Êý ......
×î½üһֱΪ´ËÍ·Í´£¬¹ÃÇÒ°ÑÎÒÄÜÏëµ½µÄ¶«Î÷¶¼Ð´³öÀ´°É¡£ÓÉÓÚ²»ÊǼòµ¥°ÑÒ³ÃæÉÏÊÖдµÄscriptתΪjavascriptÌí¼Ó£¬ÎÒÃÇÐèÒª¿¼ÂǵĶ«Î÷Ö÷ÒªÓÐÁ½¸ö£º¼ÓÔØµÄ˳Ðò£¬¼ÓÔØÇ°ºó½Å±¾µÄÔË×÷¡£
ÏÈ˵µÚÒ»¸ö£¬¼ÙÈçÎÒÃÇÒÑÓÐÒ»¼ÓÔØ»úÖÆÁË£¬Òª¼ÓÔØÒ»¸öÐÂÄ£¿é£¬µ±È»ÐÂÄ£¿éÊÇÔÚÁíÒ»¸öJSÎļþÖС£Õâʱ£¬ÎÒÃÇ¿ÉÒÔÃèÊöΪ£º
loader ---> a.js
Õâ¸ö¼Ó ......