×÷ÕߣºÀîÕ½(leadzen)¡¡À´Ô´£º²©¿ÍÔ° ¡¡ ¿áÇÚÍøÊÕ¼¯¡¡2008-02-28
±à³ÌÊÀ½çÀïÖ»´æÔÚÁ½ÖÖ»ù±¾ÔªËØ£¬Ò»¸öÊÇÊý¾Ý£¬Ò»¸öÊÇ´úÂë¡£±à³ÌÊÀ½ç¾ÍÊÇÔÚÊý¾ÝºÍ´úÂëǧ˿ÍòÂÆµÄ¾À²øÖгÊÏÖ³öÎÞÏÞµÄÉú»úºÍ»îÁ¦¡£
Êý¾ÝÌìÉú¾ÍÊÇÎľ²µÄ£¬×ÜÏë±£³Ö×Ô¼º¹ÌÓеı¾É«£»¶ø´úÂëÈ´ÌìÉú»îÆÃ£¬×ÜÏë¸Ä±äÕâ¸öÊÀ½ç¡£
Äã¿´£¬Êý¾Ý´úÂë¼äµÄ¹ØÏµÓëÎïÖÊÄÜÁ¿¼äµÄ¹ØÏµÓÐמªÈ˵ÄÏàËÆ¡£Êý¾ÝÒ²ÊÇÓйßÐԵģ¬Èç¹ûûÓдúÂëÀ´Ê©¼ÓÍâÁ¦£¬Ëý×ܱ£³Ö×Ô¼ºÔÀ´µÄ״̬¡£¶ø´úÂë¾ÍÏóÄÜÁ¿£¬Ëû´æÔÚµÄΨһĿµÄ£¬¾ÍÊÇҪŬÁ¦¸Ä±äÊý¾ÝÔÀ´µÄ״̬¡£ÔÚ´úÂë¸Ä±äÊý¾ÝµÄͬʱ£¬Ò²»áÒòΪÊý¾ÝµÄ¿¹¾Ü¶ø·´¹ýÀ´Ó°Ïì»ò¸Ä±ä´úÂëÔÓеÄÇ÷ÊÆ¡£ÉõÖÁÔÚijЩÇé¿öÏ£¬Êý¾Ý¿ÉÒÔת±äΪ´úÂ룬¶ø´úÂëÈ´ÓÖÓпÉÄܱ»×ª±äΪÊý¾Ý£¬»òÐí»¹´æÔÚÒ»¸öÀàËÆE=MC2ÐÎʽµÄÊýÂëת»»·½³ÌÄØ¡£È»¶ø£¬¾ÍÊÇÔÚÊý¾ÝºÍ´úÂë¼äÕâÖÖ¼´Ã¬¶ÜÓÖͳһµÄÔËתÖУ¬×ÜÄÜÌåÏÖ³ö¼ÆËã»úÊÀ½çµÄ¹æÂÉ£¬ÕâЩ¹æÂÉÕýÊÇÎÒÃDZàдµÄ³ÌÐòÂß¼¡£
²»¹ý£¬ÓÉÓÚ²»Í¬³ÌÐòÔ±ÓÐ×Ų»Í¬µÄÊÀ½ç¹Û£¬ÕâЩÊý¾ÝºÍ´úÂë¿´ÆðÀ´Ò²¾Í²»¾¡Ïàͬ¡£ÓÚÊÇ£¬²»Í¬ÊÀ½ç¹ÛµÄ³ÌÐòÔ±ÃÇÔËÓø÷×Եķ½·¨ÂÛ£¬Íƶ¯×űà³ÌÊÀ½çµÄ½ø»¯ºÍ·¢Õ¹¡£
ÖÚËùÖÜÖª£¬µ±½ñ×îÁ÷Ðеıà³Ì˼ÏëιýÓÚÃæÏò¶ÔÏó±à³ÌµÄ˼Ïë¡£ÎªÊ²Ã´ÃæÏò¶ÔÏóµÄ˼ÏëÄÜѸËÙ·çÃÒ±à³ÌÊÀ½çÄØ£¿ÒòÎªÃæÏò¶ÔÏóµÄ˼ÏëÊ״ΰÑÊý¾ÝºÍ´úÂë½áºÏ³ÉͳһÌ壬²¢ÒÔÒ»¸ö¼òµ¥µÄ¶ÔÏó¸ÅÄî³ÊÏÖ¸ø±à³ÌÕß¡£ÕâÒ»ÏÂ×Ӿͽ«ÔÀ´ÄÇЩÔÓÂÒµÄËã·¨Óë×Ó³ÌÐò£¬ÒÔ¼°¾À²ø²»ÇåµÄ¸´ÔÓÊý¾Ý½á¹¹£¬»®·Ö³ÉÇåÎú¶øÓÐÐòµÄ¶ÔÏó½á¹¹£¬´Ó¶øÀíÇåÁËÊý¾ÝÓë´úÂëÔÚÎÒÃÇÐÄÖÐÄÇÍÅÂÒÂé°ãµÄ½á¡£ÎÒÃÇÓÖ¿ÉÒÔÓÐÒ»¸ö¸üÇåÎúµÄ˼ά£¬ÔÚÁíÒ»¸ö˼Ïë¸ß¶ÈÉÏȥ̽Ë÷¸ü¼ÓºÆå«µÄ±à³ÌÊÀ½çÁË¡£
ÔÚÎå׿ºëÈ̽²ÊÚÍê¡¶¶ÔÏóÕæ¾¡·Ö®ºóµÄÒ»Ì죬Ëû¶ÔÖÚµÜ×ÓÃÇ˵£º“¾Òѽ²Í꣬Ïë±Ø¶ûµÈÓ¦¸ÃÓÐËù¸ÐÎò£¬Çë¸÷×Ôд¸öÙÊ×ÓÀ´¿´”¡£´óµÜ×ÓÉñÐãÊDZ»´ó¼Ò¹«ÈÏΪÎòÐÔ×î¸ßµÄʦÐÖ£¬ËûµÄÙÊ×ÓдµÀ£º“ÉíÊǶÔÏóÊ÷£¬ÐÄÈçÀà°ãÃ÷¡£³¯³¯ÇÚ·÷Êã¬ÄªÈÃÈdz¾°££¡”¡£´ËÙÊÒ»³ö£¬Á¢¼´ÒýÆðʦÐÖµÜÃǵĺ䶯£¬´ó¼Ò¶¼ËµÐ´µÃÌ«ºÃÁË¡£Ö»ÓлðÍ·É®»ÛÄÜ¿´ºó£¬ÇáÇáµØÌ¾ÁË¿ÚÆø£¬ÓÖËæÊÖÔÚǽÉÏдµÀ£º“¶ÔÏó±¾ÎÞ¸ù£¬ÀàÐÍÒàÎÞÐΡ£±¾À´ÎÞÒ»ÎºÎ´¦Èdz¾°££¿”¡£È»ºóÒ¡ÁËÒ¡Í·£¬Ñﳤ¶øÈ¥¡£´ó¼Ò¿´ÁË»ÛÄܵÄÙÊ×Ó¶¼Ëµ£º“дµÄʲôÂÒÆß°ËÔãµÄ°¡£¬¿´²»¶®”¡£Ê¦¸¸ºëÈÌ¿´ÁËÉñÐãµÄÊ«ÙÊÒ²µãÍ·³ÆÔÞ£¬ÔÙ¿´»ÛÄܵÄÊ«ÙÊÖ®ºóĬȻҡͷ¡£¾ÍÔÚµ±ÌìÒ¹ÀºëÈÌÈ´ÇÄÇİѻÛÄܽе½×Ô¼ºµÄìø·¿£¬½«Õ䲨¶àÄêµÄÈí¼þÕæ¾´«ÊÚÓÚËû£¬È»ºóÈÃËû³Ã×ÅÔÂÉ«Á¬Ò¹ÌÓ×ß...
ºóÀ´£¬»ÛÄܹûÈ»²»¸ºÊ¦¸¸ºñÍû£¬ÔÚÄÏ·½¿ª´´ÁËìø×ÚÁíÒ»¸ö¹ãÀ«µÄÌì¿Õ¡£¶ø»ÛÄܵ±Äê´ø×ßµÄÈí¼þÕæ¾ÖоÍÓÐÒ»±¾ÊÇ¡¶JavaScriptÕæ¾¡·£¡
»Ø¹é¼òµ¥
ÒªÀí½âJavaScript£¬ÄãµÃÊ×ÏÈ·Å϶ÔÏóºÍÀàµÄ¸ÅÄ»Øµ½Êý¾ÝºÍ´úÂëµÄ±¾Ô¡£Ç°ÃæËµ¹ý£¬±à³ÌÊÀ½çÖ»ÓÐÊý¾ÝºÍ´úÂëÁ½ÖÖ»ù±¾ÔªËØ£¬¶øÕâÁ½ÖÖÔªËØÓÖÓÐמÀ²ø²»ÇåµÄ¹ØÏµ¡£JavaScript¾ÍÊǰÑÊý¾ÝºÍ´úÂë¶¼¼ò»¯µ½×îÔʼµÄ³Ì¶È¡£
JavaScriptÖеÄÊý¾ÝºÜ¼ò½àµÄ¡£¼òµ¥Êý¾ÝÖ»ÓÐ undefined, null, boolean, numberºÍstringÕâÎåÖÖ£¬¶ø¸´ÔÓÊý¾ÝÖ»ÓÐÒ»ÖÖ£¬¼´object¡£Õâ¾ÍºÃ±ÈÖйú¹ÅµäµÄÆÓËØÎ¨Îï˼Ï룬°ÑÊÀ½ç×î»ù±¾µÄÔªËØ¹éΪ½ðľˮ»ðÍÁ£¬ÆäËû¸´ÔÓµÄÎïÖʶ¼ÊÇÓÉÕâÎåÖÖ»ù±¾ÔªËØ×é³É¡£
JavaScriptÖеĴúÂëÖ»ÌåÏÖΪһÖÖÐÎʽ£¬¾ÍÊÇfunction¡£
×¢Ò⣺ÒÔÉϵ¥´Ê¶¼ÊÇСдµÄ£¬²»ÒªºÍNumber, String, Object, FunctionµÈJavaScriptÄÚÖú¯Êý»ìÏýÁË¡£ÒªÖªµÀ£¬JavaScriptÓïÑÔÊÇÇø·Ö´óСдµÄѽ!
ÈκÎÒ»¸öJavaScriptµÄ±êʶ¡¢³£Á¿¡¢±äÁ¿ºÍ²ÎÊý¶¼Ö»ÊÇunfined, null, bool, number, string, object ºÍ functionÀàÐÍÖеÄÒ»ÖÖ£¬Ò²¾Ítypeof·µ»ØÖµ±íÃ÷µÄÀàÐÍ¡£³ý´ËÖ®ÍâûÓÐÆäËûÀàÐÍÁË¡£
ÏÈ˵˵¼òµ¥Êý¾ÝÀàÐͰɡ£
undefined: ´ú±íÒ»ÇÐδ֪µÄÊÂÎɶ¶¼Ã»ÓУ¬ÎÞ·¨ÏëÏ󣬴úÂëÒ²¾Í¸üÎÞ·¨È¥´¦ÀíÁË¡£
×¢Ò⣺typeof(undefined) ·µ»ØÒ²ÊÇ undefined¡£
¿ÉÒÔ½«undefined¸³Öµ¸øÈκαäÁ¿»òÊôÐÔ£¬µ«²¢²»ÒâζÁËÇå³ýÁ˸ñäÁ¿£¬·´¶ø»áÒò´Ë¶àÁËÒ»¸öÊôÐÔ¡£
null: ÓÐÄÇôһ¸ö¸ÅÄµ«Ã»Óж«Î÷¡£ÎÞÖÐËÆÓУ¬ÓÐÖл¹ÎÞ¡£ËäÄÑÒÔÏëÏ󣬵«ÒѾ¿ÉÒÔÓôúÂëÀ´´¦ÀíÁË¡£
×¢Ò⣺typeof(null)·µ»Øobject£¬µ«null²¢·Çobject£¬¾ßÓÐnullÖµµÄ±äÁ¿Ò²²¢·Çobject¡£
boolean: ÊǾÍÊÇ£¬·Ç¾Í·Ç£¬Ã»ÓÐÒÉÒå¡£¶Ô¾Í¶Ô£¬´í¾Í´í£¬¾ø¶ÔÃ÷È·¡£¼ÈÄܱ»´úÂë´¦Àí£¬Ò²¿ÉÒÔ¿ØÖÆ´úÂëµÄÁ÷³Ì¡£
number: ÏßÐÔµÄÊÂÎ´óСºÍ´ÎÐò·ÖÃ÷£¬¶à¶ø²»ÂÒ¡£±ãÓÚ´úÂë½øÐÐÅúÁ¿´¦Àí£¬Ò²¿ØÖÆ´úÂëµÄµü´úºÍÑ»·µÈ¡£
×¢Ò⣺typeof(NaN)ºÍtypeof(Infinity)¶¼·µ»Ønumber ¡£
NaN²ÎÓëÈκÎÊýÖµ¼ÆËãµÄ½á¹¹¶¼ÊÇNaN£¬¶øÇÒ NaN != NaN ¡£
Infinity / Infinity = NaN ¡£
string: ÃæÏòÈËÀàµÄÀíÐÔÊÂÎ¶ø²»ÊÇ»úÆ÷Ðźš£ÈË»úÐÅÏ¢¹µÍ¨£¬´úÂë¾Ý´ËÀí½âÈ˵ÄÒâͼµÈµÈ£¬¶¼¿¿ËüÁË¡£
¼òµ¥ÀàÐͶ¼²»ÊǶÔÏó£¬JavaScriptûÓн«¶ÔÏ󻯵ÄÄÜÁ¦¸³ÓèÕâЩ¼òµ¥ÀàÐÍ¡£Ö±½Ó±»¸³Óè¼òµ¥ÀàÐͳ£Á¿ÖµµÄ±êʶ·û¡¢±äÁ¿ºÍ²ÎÊý¶¼²»ÊÇÒ»¸ö¶ÔÏó¡£
Ëùν“¶ÔÏ󻯔£¬¾ÍÊÇ¿ÉÒÔ½«Êý¾ÝºÍ´úÂë×éÖ¯³É¸´ÔӽṹµÄÄÜÁ¦¡£JavaScriptÖÐÖ»ÓÐobjectÀàÐͺÍfunctionÀàÐÍÌṩÁ˶ÔÏ󻯵ÄÄÜÁ¦¡£
ûÓÐÀà
object¾ÍÊǶÔÏóµÄÀàÐÍ¡£ÔÚJavaScriptÖв»¹Ü¶àô¸´ÔÓµÄÊý¾ÝºÍ´úÂ룬¶¼¿ÉÒÔ×éÖ¯³ÉobjectÐÎʽµÄ¶ÔÏó¡£
µ«JavaScriptȴûÓÐ “Àà”µÄ¸ÅÄ
¶ÔÓÚÐí¶àÃæÏò¶ÔÏóµÄ³ÌÐòÔ±À´Ëµ£¬Õâ¿ÖÅÂÊÇJavaScriptÖÐ×îÄÑÒÔÀí½âµÄµØ·½¡£Êǰ¡£¬¼¸ºõÈκν²ÃæÏò¶ÔÏóµÄÊéÖУ¬µÚÒ»¸öÒª½²µÄ¾ÍÊÇ“Àà”µÄ¸ÅÄÕâ¿ÉÊÇÃæÏò¶ÔÏóµÄÖ§Öù¡£ÕâͻȻûÓÐÁË“Àà”£¬ÎÒÃǾÍÏóÒ»ÏÂ×ÓûÁ˾«ÉñÖ§Öù£¬¸Ðµ½ÁùÉñÎÞÖ÷¡£¿´À´£¬Òª·Å϶ÔÏóºÍÀ࣬´ïµ½“¶ÔÏó±¾ÎÞ¸ù£¬ÀàÐÍÒàÎÞÐΔµÄ¾³½çȷʵÊǼþ²»ÈÝÒ×µÄÊÂÇé°¡¡£
ÕâÑù£¬ÎÒÃÇÏÈÀ´¿´Ò»¶ÎJavaScript³ÌÐò£º
for(life.age = 1; life.age <= 3; life.age++)
{
switch(life.age)
{
case 1: life.body = "ÂÑϸ°û";
life.say = function(){alert(this.age+this.body)};
break;
case 2: life.tail = "β°Í";
life.gill = "Èù";
life.body = "òòò½";
life.say = function(){alert(this.age+this.body+"-"+this.tail+","+this.gill)};
break;
case 3: delete life.tail;
delete life.gill;
life.legs = "ËÄÌõÍÈ";
life.lung = "·Î";
life.body = "ÇàÍÜ";
life.say = function(){alert(this.age+this.body+"-"+this.legs+","+this.lung)};
break;
};
life.say();
};
Õâ¶ÎJavaScript³ÌÐòÒ»¿ªÊ¼²úÉúÁËÒ»¸öÉúÃü¶ÔÏólife£¬lifeµ®ÉúʱֻÊÇÒ»¸ö¹âÁïÁïµÄ¶ÔÏó£¬Ã»ÓÐÈκÎÊôÐԺͷ½·¨¡£ÔÚµÚÒ»´ÎÉúÃü¹ý³ÌÖУ¬ËüÓÐÁËÒ»¸öÉíÌåÊôÐÔbody£¬²¢ÓÐÁËÒ»¸ösay·½·¨£¬¿´ÆðÀ´ÊÇÒ»¸ö“ÂÑϸ°û”¡£ÔÚµÚ¶þ´ÎÉúÃü¹ý³ÌÖУ¬ËüÓÖ³¤³öÁ˓β°Í”ºÍ“Èù”£¬ÓÐÁËtailºÍgillÊôÐÔ£¬ÏÔÈ»ËüÊÇÒ»¸ö“òòò½”¡£ÔÚµÚÈý´ÎÉúÃü¹ý³ÌÖУ¬ËüµÄtailºÍgillÊôÐÔÏûʧÁË£¬µ«ÓÖ³¤³öÁË“ËÄÌõÍÈ”ºÍ“·Î”£¬ÓÐÁËlegsºÍlungÊôÐÔ£¬´Ó¶ø×îÖÕ±ä³ÉÁË“ÇàÍÜ”¡£Èç¹û£¬ÄãµÄÏëÏñÁ¦·á¸»µÄ»°£¬»òÐí»¹ÄÜÈÃËü±ä³ÉÓ¢¿¡µÄ“Íõ×Ó”£¬È¢¸öÃÀÀöµÄ“¹«Ö÷”ʲôµÄ¡£²»¹ý£¬ÔÚ¿´ÍêÕâ¶Î³ÌÐòÖ®ºó£¬ÇëÄã˼¿¼Ò»¸öÎÊÌ⣺
ÎÒÃÇÒ»¶¨ÐèÒªÀàÂð£¿
»¹¼ÇµÃ¶ùʱÄǸö“Сòòò½ÕÒÂèÂ蔵Äͯ»°Âð£¿Ò²Ðí¾ÍÔÚ×òÌìÍí£¬ÄãµÄº¢×Ó¸ÕºÃÊÇÔÚÕâ¸öÃÀÀöµÄͯ»°ÖнøÈëÃÎÏçµÄ°É¡£¿É°®µÄСòòò½Ò²¾ÍÊÇÔÚÆä×ÔÉíÀàÐͲ»¶ÏÑÝ»¯¹ý³ÌÖУ¬Öð½¥±ä³ÉÁ˺ÍÂèÂèÒ»ÑùµÄ“Àà”£¬´Ó¶øÕÒµ½ÁË×Ô¼ºµÄÂèÂè¡£Õâ¸öͯ»°¹ÊÊÂÖÐÔ̺¬µÄ±à³ÌÕÜÀí¾ÍÊÇ£º¶ÔÏóµÄ“Àà”ÊÇ´ÓÎÞµ½ÓУ¬ÓÖ²»¶ÏÑÝ»¯£¬×îÖÕÓÖÏûʧÓÚÎÞÐÎÖ®ÖеÄ...
“Àà”£¬µÄÈ·¿ÉÒÔ°ïÖúÎÒÃÇÀí½â¸´ÔÓµÄÏÖʵÊÀ½ç£¬Õâ·×ÂÒµÄÏÖʵÊÀ½çÒ²µÄÈ·ÐèÒª½øÐзÖÀà¡£µ«Èç¹ûÎÒÃǵÄ˼Ïë±»“Àà”Êø¸¿×¡ÁË£¬“Àà”Ò²¾Í±ä³ÉÁË“ÀÛ”¡£ÏëÏóһϣ¬Èç¹ûÒ»¸öÉúÃü¶ÔÏó¿ªÊ¼µÄʱ¾Í±»¹æ¶¨Á˹̶¨µÄ“Àà”£¬ÄÇôËü»¹ÄÜÑÝ»¯Âð£¿òòò½»¹Äܱä³ÉÇàÍÜÂ𣿻¹¿ÉÒÔ¸øº¢×ÓÃǽ²Ð¡òòò½ÕÒÂèÂèµÄ¹ÊÊÂÂð£¿
ËùÒÔ£¬JavaScriptÖÐûÓГÀà”£¬ÀàÒÑ»¯ÓÚÎÞÐΣ¬Óë¶ÔÏóÈÚΪһÌå¡£ÕýÊÇÓÉÓÚ·ÅÏÂÁË“Àà”Õâ¸ö¸ÅÄJavaScriptµÄ¶ÔÏó²ÅÓÐÁËÆäËû±à³ÌÓïÑÔËùûÓеĻîÁ¦¡£
Èç¹û£¬´ËʱÄãµÄÄÚÐÄÉî´¦¿ªÊ¼ÓÐËù¸ÐÎò£¬ÄÇôÄãÒѾÖ𽥿ªÊ¼Àí½âJavaScriptµÄìø»úÁË¡£
º¯ÊýµÄħÁ¦
½ÓÏÂÀ´£¬ÎÒÃÇÔÙÌÖÂÛÒ»ÏÂJavaScriptº¯ÊýµÄħÁ¦°É¡£
JavaScriptµÄ´úÂë¾ÍÖ»ÓÐfunctionÒ»ÖÖÐÎʽ£¬function¾ÍÊǺ¯ÊýµÄÀàÐÍ¡£Ò²ÐíÆäËû±à³ÌÓïÑÔ»¹ÓÐprocedure»ò methodµÈ´úÂë¸ÅÄµ«ÔÚJavaScriptÀïÖ»ÓÐfunctionÒ»ÖÖÐÎʽ¡£µ±ÎÒÃÇдÏÂÒ»¸öº¯ÊýµÄʱºò£¬Ö»²»¹ýÊǽ¨Á¢ÁËÒ»¸öfunctionÀàÐ͵ÄʵÌå¶øÒÑ¡£Çë¿´ÏÂÃæµÄ³ÌÐò£º
{
alert("hello");
};
alert(typeof(myfunc));
Õâ¸ö´úÂëÔËÐÐÖ®ºó¿ÉÒÔ¿´µ½typeof(myfunc)·µ»ØµÄÊÇfunction¡£ÒÔÉϵĺ¯Êýд·¨ÎÒÃdzÆÖ®Îª“¶¨Òåʽ”µÄ£¬Èç¹ûÎÒÃǽ«Æä¸Äд³ÉÏÂÃæµÄ“±äÁ¿Ê½”µÄ£¬¾Í¸üÈÝÒ×Àí½âÁË£º
{
alert("hello");
};
alert(typeof(myfunc));
ÕâÀïÃ÷È·¶¨ÒåÁËÒ»¸ö±äÁ¿myfunc£¬ËüµÄ³õʼֵ±»¸³ÓèÁËÒ»¸öfunctionµÄʵÌå¡£Òò´Ë£¬typeof(myfunc)·µ»ØµÄÒ²ÊÇfunction¡£Æäʵ£¬ÕâÁ½ÖÖº¯ÊýµÄд·¨Êǵȼ۵쬳ýÁËÒ»µãϸ΢²î±ð£¬ÆäÄÚ²¿ÊµÏÖÍêÈ«Ïàͬ¡£Ò²¾ÍÊÇ˵£¬ÎÒÃÇдµÄÕâЩJavaScriptº¯ÊýÖ»ÊÇÒ»¸öÃüÁËÃûµÄ±äÁ¿¶øÒÑ£¬Æä±äÁ¿ÀàÐͼ´Îªfunction£¬±äÁ¿µÄÖµ¾ÍÊÇÎÒÃDZàдµÄº¯Êý´úÂëÌå¡£
´ÏÃ÷µÄÄã»òÐíÁ¢¼´»á½øÒ»²½µÄ×·ÎÊ£º¼ÈÈ»º¯ÊýÖ»ÊDZäÁ¿£¬ÄÇô±äÁ¿¾Í¿ÉÒÔ±»ËæÒ⸳ֵ²¢Óõ½ÈÎÒâµØ·½†ª£¿
ÎÒÃÇÀ´¿´¿´ÏÂÃæµÄ´úÂ룺
{
alert("hello");
};
myfunc(); //µÚÒ»´Îµ÷ÓÃmyfunc£¬Êä³öhello
myfunc = function ()
{
alert("yeah");
};
myfunc(); //µÚ¶þ´Îµ÷ÓÃmyfunc£¬½«Êä³öyeah
Õâ¸ö³ÌÐòÔËÐеĽá¹û¸æËßÎÒÃÇ£º´ð°¸Êǿ϶¨µÄ£¡ÔÚµÚÒ»´Îµ÷Óú¯ÊýÖ®ºó£¬º¯Êý±äÁ¿ÓÖ±»¸³ÓèÁËеĺ¯Êý´úÂëÌ壬ʹµÃµÚ¶þ´Îµ÷Óøú¯Êýʱ£¬³öÏÖÁ˲»Í¬µÄÊä³ö¡£
ºÃÁË£¬ÎÒÃÇÓÖÀ´°ÑÉÏÃæµÄ´úÂë¸Ä³ÉµÚÒ»ÖÖ¶¨ÒåʽµÄº¯ÊýÐÎʽ£º
{
alert("hello");
};
myfunc(); //ÕâÀïµ÷ÓÃmyfunc£¬Êä³öyeah¶ø²»ÊÇhello
function myfunc ()
{
alert("yeah");
};
myfunc(); //ÕâÀïµ÷ÓÃmyfunc£¬µ±È»Êä³öyeah
°´Àí˵£¬Á½¸öÇ©ÃûÍêÈ«ÏàͬµÄº¯Êý£¬ÔÚÆäËû±à³ÌÓïÑÔÖÐÓ¦¸ÃÊÇ·Ç·¨µÄ¡£µ«ÔÚJavaScriptÖУ¬Õâû´í¡£²»¹ý£¬³ÌÐòÔËÐÐÖ®ºóÈ´·¢ÏÖÒ»¸öÆæ¹ÖµÄÏÖÏó£ºÁ½´Îµ÷Óö¼Ö»ÊÇ×îºóÄǸöº¯ÊýÀïÊä³öµÄÖµ£¡ÏÔÈ»µÚÒ»¸öº¯ÊýûÓÐÆðµ½ÈκÎ×÷Óá£ÕâÓÖÊÇÎªÊ²Ã´ÄØ£¿
ÔÀ´£¬JavaScriptÖ´ÐÐÒýÇæ²¢·ÇÒ»ÐÐÒ»ÐеطÖÎöºÍÖ´ÐгÌÐò£¬¶øÊÇÒ»¶ÎÒ»¶ÎµØ·ÖÎöÖ´Ðеġ£¶øÇÒ£¬ÔÚͬһ¶Î³ÌÐòµÄ·ÖÎöÖ´ÐÐÖУ¬¶¨ÒåʽµÄº¯ÊýÓï¾ä»á±»ÌáÈ¡³öÀ´ÓÅÏÈÖ´ÐС£º¯Êý¶¨ÒåÖ´ÐÐÍêÖ®ºó£¬²Å»á°´Ë³ÐòÖ´ÐÐÆäËûÓï¾ä´úÂë¡£Ò²¾ÍÊÇ˵£¬ÔÚµÚÒ»´Îµ÷ÓÃmyfunc֮ǰ£¬µÚÒ»¸öº¯ÊýÓï¾ä¶¨ÒåµÄ´úÂëÂß¼£¬Òѱ»µÚ¶þ¸öº¯Êý¶¨ÒåÓï¾ä¸²¸ÇÁË¡£ËùÒÔ£¬Á½´Î¶¼µ÷Óö¼ÊÇÖ´ÐÐ×îºóÒ»¸öº¯ÊýÂß¼ÁË¡£
Èç¹û°ÑÕâ¸öJavaScript´úÂë·Ö³ÉÁ½¶Î£¬ÀýÈ罫ËüÃÇдÔÚÒ»¸öhtmlÖУ¬²¢ÓÃ<script/>±êÇ©½«Æä·Ö³ÉÕâÑùµÄÁ½¿é£º
function myfunc ()
{
alert("hello");
};
myfunc(); //ÕâÀïµ÷ÓÃmyfunc£¬Êä³öhello
</script>
<script>
function myfunc ()
{
alert("yeah");
};
myfunc(); //ÕâÀïµ÷ÓÃmyfunc£¬Êä³öyeah
</script>
Õâʱ£¬Êä³ö²ÅÊǸ÷×Ô°´Ë³ÐòÀ´µÄ£¬Ò²Ö¤Ã÷ÁËJavaScriptµÄÈ·ÊÇÒ»¶Î¶ÎµØÖ´Ðеġ£
Ò»¶Î´úÂëÖе͍Òåʽº¯ÊýÓï¾ä»áÓÅÏÈÖ´ÐУ¬ÕâËÆºõÓеãÏó¾²Ì¬ÓïÑԵıàÒë¸ÅÄî¡£ËùÒÔ£¬ÕâÒ»ÌØÕ÷Ò²±»ÓÐЩÈ˳ÆÎª£ºJavaScriptµÄ“Ô¤±àÒ딡£
´ó¶àÊýÇé¿öÏ£¬ÎÒÃÇҲûÓбØÒªÈ¥¾À²øÕâЩϸ½ÚÎÊÌâ¡£Ö»ÒªÄã¼Çסһµã£ºJavaScriptÀïµÄ´úÂëÒ²ÊÇÒ»ÖÖÊý¾Ý£¬Í¬Ñù¿ÉÒÔ±»ÈÎÒ⸳ֵºÍÐ޸ĵ쬶øËüµÄÖµ¾ÍÊÇ´úÂëµÄÂß¼¡£Ö»ÊÇ£¬ÓëÒ»°ãÊý¾Ý²»Í¬µÄÊÇ£¬º¯ÊýÊÇ¿ÉÒÔ±»µ÷ÓÃÖ´Ðеġ£
²»¹ý£¬Èç¹ûJavaScriptº¯Êý½ö½öÖ»ÓÐÕâµãµÀÐеϰ£¬ÕâÓëC++µÄº¯ÊýÖ¸Õ룬DELPHIµÄ·½·¨Ö¸Õ룬C#µÄίÍÐÏà±È£¬ÓÖÓÐÉ¶Ï¡ÆæÂȻ¶ø£¬JavaScriptº¯ÊýµÄÉñÆæÖ®´¦»¹ÌåÏÖÔÚÁíÍâÁ½¸ö·½Ã棺һÊǺ¯ÊýfunctionÀàÐͱ¾ÉíÒ²¾ßÓжÔÏ󻯵ÄÄÜÁ¦£¬¶þÊǺ¯ÊýfunctionÓë¶ÔÏó object³¬È»µÄ½áºÏÄÜÁ¦¡£
ÆæÃîµÄ¶ÔÏó
ÏÈÀ´ËµËµº¯ÊýµÄ¶ÔÏó»¯ÄÜÁ¦¡£
ÈκÎÒ»¸öº¯Êý¶¼¿ÉÒÔΪÆä¶¯Ì¬µØÌí¼Ó»òÈ¥³ýÊôÐÔ£¬ÕâЩÊôÐÔ¿ÉÒÔÊǼòµ¥ÀàÐÍ£¬¿ÉÒÔÊǶÔÏó£¬Ò²¿ÉÒÔÊÇÆäËûº¯Êý¡£Ò²¾ÍÊÇ˵£¬º¯Êý¾ßÓжÔÏóµÄÈ«²¿ÌØÕ÷£¬ÄãÍêÈ«¿ÉÒ԰Ѻ¯Êýµ±¶ÔÏóÀ´Óá£Æäʵ£¬º¯Êý¾ÍÊǶÔÏó£¬Ö»²»¹ý±ÈÒ»°ãµÄ¶ÔÏó¶àÁËÒ»¸öÀ¨ºÅ“()”²Ù×÷·û£¬Õâ¸ö²Ù×÷·ûÓÃÀ´Ö´Ðк¯ÊýµÄÂß¼¡£¼´£¬º¯Êý±¾Éí»¹¿ÉÒÔ±»µ÷Óã¬Ò»°ã¶ÔÏóÈ´²»¿ÉÒÔ±»µ÷Ó㬳ý´ËÖ®ÍâÍêÈ«Ïàͬ¡£Çë¿´ÏÂÃæµÄ´úÂ룺
{
with(arguments.callee)
alert(author + "£º" + poem);
};
Sing.author = "Àî°×";
Sing.poem = "ºº¼ÒÇØµØÔ£¬Á÷Ó°ÕÕÃ÷åú¡£Ò»ÉÏÓñ¹ØµÀ£¬ÌìÑÄÈ¥²»¹é
";Sing();
Sing.author = "ÀîÕ½";
Sing.poem = "ÈÕ³öºº¼ÒÌ죬ÔÂÂäÒõɽǰ¡£Å®¶ùÅýÅÃÔ¹£¬ÒѳªÈýǧÄê
";Sing();
ÔÚÕâ¶Î´úÂëÖУ¬Singº¯Êý±»¶¨Òåºó£¬ÓÖ¸øSingº¯Êý¶¯Ì¬µØÔö¼ÓÁËauthorºÍpoemÊôÐÔ¡£½«authorºÍpoemÊôÐÔÉèΪ²»Í¬µÄ×÷ÕߺÍÊ«¾ä£¬ÔÚµ÷ÓÃSing()ʱ¾ÍÄÜÏÔʾ³ö²»Í¬µÄ½á¹û¡£Õâ¸öʾÀýÓÃÒ»ÖÖÊ«Çé»ÒâµÄ·½Ê½£¬ÈÃÎÒÃÇÀí½âÁËJavaScriptº¯Êý¾ÍÊǶÔÏóµÄ±¾ÖÊ£¬Ò²¸ÐÊܵ½ÁËJavaScriptÓïÑÔµÄÓÅÃÀ¡£
ºÃÁË£¬ÒÔÉϵĽ²Êö£¬ÎÒÃÇÓ¦¸ÃËãÀí½âÁËfunctionÀàÐ͵Ķ«Î÷¶¼ÊǺÍobjectÀàÐÍÒ»ÑùµÄ¶«Î÷£¬ÕâÖÖ¶«Î÷±»ÎÒÃdzÆÎª“¶ÔÏó”¡£ÎÒÃǵÄÈ·¿ÉÒÔÕâÑùÈ¥¿´´ýÕâЩ“¶ÔÏ󔣬ÒòΪËüÃǼÈÓГÊôÐÔ”Ò²ÓГ·½·¨”Âï¡£µ«ÏÂÃæµÄ´úÂëÓÖ»áÈÃÎÒÃDzúÉúеÄÒÉ»ó£º
anObject.aProperty = "Property of object"; //¶ÔÏóµÄÒ»¸öÊôÐÔ
anObject.aMethod = function(){alert("Method of object")}; //¶ÔÏóµÄÒ»¸ö·½·¨
//Ö÷Òª¿´ÏÂÃæ£º
alert(anObject["aProperty"]); //¿ÉÒÔ½«¶ÔÏóµ±Êý×éÒÔÊôÐÔÃû×÷ΪϱêÀ´·ÃÎÊÊôÐÔ
anObject["aMethod"](); //¿ÉÒÔ½«¶ÔÏóµ±Êý×éÒÔ·½·¨Ãû×÷ΪϱêÀ´µ÷Ó÷½·¨
for( var s in anObject) //±éÀú¶ÔÏóµÄËùÓÐÊôÐԺͷ½·¨½øÐеü´ú»¯´¦Àí
alert(s + " is a " + typeof(anObject[s]));
ͬÑù¶ÔÓÚfunctionÀàÐ͵ĶÔÏóÒ²ÊÇÒ»Ñù£º
aFunction.aProperty = "Property of function"; //º¯ÊýµÄÒ»¸öÊôÐÔ
aFunction.aMethod = function(){alert("Method of function")}; //º¯ÊýµÄÒ»¸ö·½·¨
//Ö÷Òª¿´ÏÂÃæ£º
alert(aFunction["aProperty"]); //¿ÉÒÔ½«º¯Êýµ±Êý×éÒÔÊôÐÔÃû×÷ΪϱêÀ´·ÃÎÊÊôÐÔ
aFunction["aMethod"](); //¿ÉÒÔ½«º¯Êýµ±Êý×éÒÔ·½·¨Ãû×÷ΪϱêÀ´µ÷Ó÷½·¨
for( var s in aFunction) //±éÀúº¯ÊýµÄËùÓÐÊôÐԺͷ½·¨½øÐеü´ú»¯´¦Àí
alert(s + " is a " + typeof(aFunction[s]));
Êǵ쬶ÔÏóºÍº¯Êý¿ÉÒÔÏóÊý×éÒ»Ñù£¬ÓÃÊôÐÔÃû»ò·½·¨Ãû×÷ΪϱêÀ´·ÃÎʲ¢´¦Àí¡£ÄÇô£¬Ëüµ½µ×Ó¦¸ÃËãÊÇÊý×éÄØ£¬»¹ÊÇËã¶ÔÏó£¿
ÎÒÃÇÖªµÀ£¬Êý×éÓ¦¸ÃËãÊÇÏßÐÔÊý¾Ý½á¹¹£¬ÏßÐÔÊý¾Ý½á¹¹Ò»°ãÓÐÒ»¶¨µÄ¹æÂÉ£¬ÊʺϽøÐÐͳһµÄÅúÁ¿µü´ú²Ù×÷µÈ£¬ÓеãÏñ²¨¡£¶ø¶ÔÏóÊÇÀëÉ¢Êý¾Ý½á¹¹£¬ÊʺÏÃèÊö·ÖÉ¢µÄºÍ¸öÐÔ»¯µÄ¶«Î÷£¬ÓеãÏñÁ£×Ó¡£Òò´Ë£¬ÎÒÃÇÒ²¿ÉÒÔÕâÑùÎÊ£ºJavaScriptÀïµÄ¶ÔÏóµ½µ×ÊDz¨»¹ÊÇÁ£×Ó£¿
Èç¹û´æÔÚ¶ÔÏóÁ¿×ÓÂÛ£¬ÄÇô´ð°¸Ò»¶¨ÊÇ£º²¨Á£¶þÏóÐÔ£¡
Òò´Ë£¬JavaScriptÀïµÄº¯ÊýºÍ¶ÔÏó¼ÈÓжÔÏóµÄÌØÕ÷Ò²ÓÐÊý×éµÄÌØÕ÷¡£ÕâÀïµÄÊý×é±»³ÆÎª“×ֵ䔣¬Ò»ÖÖ¿ÉÒÔÈÎÒâÉìËõµÄÃû³ÆÖµ¶Ô¶ùµÄ¼¯ºÏ¡£Æäʵ£¬ objectºÍfunctionµÄÄÚ²¿ÊµÏÖ¾ÍÊÇÒ»¸ö×Öµä½á¹¹£¬µ«ÕâÖÖ×Öµä½á¹¹È´Í¨¹ýÑϽ÷¶ø¾«ÇɵÄÓï·¨±íÏÖ³öÁ˷ḻµÄÍâ¹Û¡£ÕýÈçÁ¿×ÓÁ¦Ñ§ÔÚһЩµØ·½ÓÃÁ£×ÓÀ´½âÊͺʹ¦ÀíÎÊÌ⣬¶øÔÚÁíһЩµØ·½È´Óò¨À´½âÊͺʹ¦ÀíÎÊÌâ¡£ÄãÒ²¿ÉÒÔÔÚÐèÒªµÄʱºò£¬×ÔÓÉÑ¡ÔñÓöÔÏó»¹ÊÇÊý×éÀ´½âÊͺʹ¦ÀíÎÊÌâ¡£Ö»ÒªÉÆÓÚ°ÑÎÕJavaScriptµÄÕâÐ©ÆæÃîÌØÐÔ£¬¾Í¿ÉÒÔ±àд³öºÜ¶à¼ò½à¶øÇ¿´óµÄ´úÂëÀ´¡£
·Å϶ÔÏó
ÎÒÃÇÔÙÀ´¿´¿´functionÓëobjectµÄ³¬È»½áºÏ°É¡£
ÔÚÃæÏò¶ÔÏóµÄ±à³ÌÊÀ½çÀÊý¾ÝÓë´úÂëµÄÓлú½áºÏ¾Í¹¹³ÉÁ˶ÔÏóµÄ¸ÅÄî¡£×Ô´ÓÓÐÁ˶ÔÏ󣬱à³ÌÊÀ½ç¾Í±»»®·Ö³ÉÁ½²¿·Ö£¬Ò»¸öÊǶÔÏóÄÚµÄÊÀ½ç£¬Ò»¸öÊǶÔÏóÍâµÄÊÀ½ç¡£¶ÔÏóÌìÉú¾ßÓÐ×Ô˽µÄÒ»Ãæ£¬ÍâÃæµÄÊÀ½çδ¾ÔÊÐíÊDz»¿É·ÃÎʶÔÏóÄÚ²¿µÄ¡£¶ÔÏóÒ²Óд󷽵ÄÒ»Ãæ£¬Ëü¶ÔÍâÌṩÊôÐԺͷ½·¨£¬Ò²ÎªËûÈË·þÎñ¡£²»¹ý£¬ÔÚÕâÀïÎÒÃÇҪ̸µ½Ò»¸öÓÐȤµÄÎÊÌ⣬¾ÍÊÇ“¶ÔÏóµÄ×ÔÎÒÒâʶ”¡£
ʲô£¿Ã»Ìý´í°É£¿¶ÔÏóÓÐ×ÔÎÒÒâʶ£¿
¿ÉÄܶÔÐí¶à³ÌÐòÔ±À´Ëµ£¬ÕâµÄÈ·ÊǵÚÒ»´ÎÌý˵¡£²»¹ý£¬Çë¾ý¿´¿´C++¡¢C#ºÍJavaµÄthis£¬DELPHIµÄself£¬»¹ÓÐVBµÄme£¬»òÐíÄã»á»ÐÈ»´óÎò£¡µ±È»£¬Ò²¿ÉÄÜÖ»ÊÇ˵¾ä“²»¹ýÈç´Ë”¶øÒÑ¡£
È»¶ø£¬¾ÍÔÚ¶ÔÏó½«ÊÀ½ç»®·ÖΪÄÚÍâÁ½²¿·ÖµÄͬʱ£¬¶ÔÏóµÄ“×ÔÎÒ”Ò²¾ÍËæÖ®²úÉú¡£“×ÔÎÒÒâʶ”ÊÇÉúÃüµÄ×î»ù±¾ÌØÕ÷£¡ÕýÊÇÓÉÓÚ¶ÔÏóÕâÖÖÇ¿´óµÄÉúÃüÁ¦£¬²ÅʹµÃ±à³ÌÊÀ½ç³äÂúÎÞÏÞµÄÉú»úºÍ»îÁ¦¡£
µ«¶ÔÏóµÄ“×ÔÎÒÒâʶ”ÔÚ´ø¸øÎÒÃÇ¿ìÀÖµÄͬʱҲ´øÀ´ÁËÍ´¿àºÍ·³ÄÕ¡£ÎÒÃǸø¶ÔÏó¸³ÓèÁËÌ«¶àÓûÍû£¬×ÜÏ£ÍûËüÃÇÄÜ×ö¸ü¶àµÄÊÂÇ顣Ȼ¶ø£¬¶ÔÏóµÄ×Ô˽ʹµÃËüÃÇ»¥ÏàÕùÇÀϵͳ×ÊÔ´£¬¶ÔÏóµÄ×Ô¸ºÈöÔÏó±äµÃ¸´ÔÓºÍÓ·Ö×£¬¶ÔÏóµÄ×ÔÆÛÒ²ÍùÍù´øÀ´»ÓÖ®²»È¥µÄ´íÎóºÍÒì³£¡£ÎÒÃÇΪʲô»áÓÐÕâô¶àµÄÍ´¿àºÍ·³ÄÕÄØ£¿
Ϊ´Ë£¬ÓÐÒ»¸öÈË£¬ÔÚ¶ÔÏóÊ÷Ï£¬ÕûÕûÏëÁ˾žŰËʮһÌ죬ÖÕÓÚÎò³öÁËÉúÃüµÄÍ´¿àÀ´×ÔÓÚÓûÍû£¬µ«¾¿ÆäÓûÍûµÄ¸ùÔ´ÊÇÀ´×ÔÓÚ×ÔÎÒÒâʶ¡£ÓÚÊÇËû·ÅÏÂÁË“×ÔÎÒ”£¬ÔÚ¶ÔÏóÊ÷ϳÉÁ˷𣬴ӴËËû¿ªÊ¼ÆÕ¶ÈÖÚÉú£¬´«²¥Õ澡£ËûµÄÃû×־ͽÐÊÍåÈĦÄᣬ¶ø¡¶JavaScriptÕæ¾¡·ÕýÊÇËûËù´«¾ÊéÖеÄÒ»±¾¡£
JavaScriptÖÐÒ²ÓÐthis£¬µ«Õâ¸öthisÈ´ÓëC++¡¢C#»òJavaµÈÓïÑÔµÄthis²»Í¬¡£Ò»°ã±à³ÌÓïÑÔµÄthis¾ÍÊǶÔÏó×Ô¼º£¬¶ø JavaScriptµÄthisÈ´²¢²»Ò»¶¨£¡this¿ÉÄÜÊÇÎÒ£¬Ò²¿ÉÄÜÊÇÄ㣬¿ÉÄÜÊÇËû£¬·´ÕýÊÇÎÒÖÐÓÐÄ㣬ÄãÖÐÓÐÎÒ£¬Õâ¾Í²»ÄÜÓÃÔÀ´µÄÄǸö“×ÔÎÒ”À´Àí½â JavaScriptÕâ¸öthisµÄº¬ÒåÁË¡£Îª´Ë£¬ÎÒÃDZØÐëÊ×ÏÈ·ÅÏÂÔÀ´¶ÔÏóµÄÄǸö“×ÔÎÒ”¡£
ÎÒÃÇÀ´¿´ÏÂÃæµÄ´úÂ룺
{
alert("I'm " + this.name + " of " + typeof(this));
};
WhoAmI(); //´ËʱÊÇthisµ±Ç°Õâ¶Î´úÂëµÄÈ«¾Ö¶ÔÏó£¬ÔÚä¯ÀÀÆ÷ÖоÍÊÇwindow¶ÔÏ󣬯änameÊôÐÔΪ¿Õ×Ö·û´®¡£Êä³ö£ºI'm of object
var BillGates = {name: "Bill Gates"};
BillGates.WhoAmI = WhoAmI; //½«º¯ÊýWhoAmI×÷ΪBillGatesµÄ·½·¨¡£
BillGates.WhoAmI(); //´ËʱµÄthisÊÇBillGates¡£Êä³ö£ºI'm Bill Gates of object
var SteveJobs = {name: "Steve Jobs"};
SteveJobs.WhoAmI = WhoAmI; //½«º¯ÊýWhoAmI×÷ΪSteveJobsµÄ·½·¨¡£
SteveJobs.WhoAmI(); //´ËʱµÄthisÊÇSteveJobs¡£Êä³ö£ºI'm Steve Jobs of object
WhoAmI.call(BillGates); //Ö±½Ó½«BillGates×÷Ϊthis£¬µ÷ÓÃWhoAmI¡£Êä³ö£ºI'm Bill Gates of object
WhoAmI.call(SteveJobs); //Ö±½Ó½«SteveJobs×÷Ϊthis£¬µ÷ÓÃWhoAmI¡£Êä³ö£ºI'm Steve Jobs of object
BillGates.WhoAmI.call(SteveJobs); //½«SteveJobs×÷Ϊthis£¬È´µ÷ÓÃBillGatesµÄWhoAmI·½·¨¡£Êä³ö£ºI'm Steve Jobs of object
SteveJobs.WhoAmI.call(BillGates); //½«BillGates×÷Ϊthis£¬È´µ÷ÓÃSteveJobsµÄWhoAmI·½·¨¡£Êä³ö£ºI'm Bill Gates of object
WhoAmI.WhoAmI = WhoAmI; //½«WhoAmIº¯ÊýÉèÖÃΪ×ÔÉíµÄ·½·¨¡£
WhoAmI.name = "WhoAmI";
WhoAmI.WhoAmI(); //´ËʱµÄthisÊÇWhoAmIº¯Êý×Ô¼º¡£Êä³ö£ºI'm WhoAmI of function
({name: "nobody", WhoAmI: WhoAmI}).WhoAmI(); //ÁÙʱ´´½¨Ò»¸öÄäÃû¶ÔÏó²¢ÉèÖÃÊôÐÔºóµ÷ÓÃWhoAmI·½·¨¡£Êä³ö£ºI'm nobody of object
´ÓÉÏÃæµÄ´úÂë¿ÉÒÔ¿´³ö£¬Í¬Ò»¸öº¯Êý¿ÉÒÔ´Ó²»Í¬µÄ½Ç¶ÈÀ´µ÷Óã¬this²¢²»Ò»¶¨ÊǺ¯Êý±¾ÉíËùÊôµÄ¶ÔÏó¡£thisÖ»ÊÇÔÚÈÎÒâ¶ÔÏóºÍfunctionÔªËØ½áºÏʱµÄÒ»¸ö¸ÅÄÊÇÖÖ½áºÏ±ÈÆðÒ»°ã¶ÔÏóÓïÑÔµÄĬÈϽáºÏ¸ü¼ÓÁé»î£¬ÏԵøü¼Ó³¬È»ºÍÈ÷ÍÑ¡£
ÔÚJavaScriptº¯ÊýÖУ¬ÄãÖ»ÄܰÑthis¿´³Éµ±Ç°Òª·þÎñµÄ“Õâ¸ö”¶ÔÏó¡£thisÊÇÒ»¸öÌØÊâµÄÄÚÖòÎÊý£¬¸ù¾Ýthis²ÎÊý£¬Äú¿ÉÒÔ·ÃÎʵ½“Õâ¸ö”¶ÔÏóµÄÊôÐԺͷ½·¨£¬µ«È´²»Äܸøthis²ÎÊý¸³Öµ¡£ÔÚÒ»°ã¶ÔÏóÓïÑÔÖУ¬·½·¨Ìå´úÂëÖеÄthis¿ÉÒÔÊ¡ÂԵ쬳ÉԱĬÈ϶¼Ê×ÏÈÊÇ“×Ô¼º”µÄ¡£µ«JavaScriptÈ´²»Í¬£¬ÓÉÓÚ²»´æÔÚ“×ÔÎÒ”£¬µ±·ÃÎÊ“Õâ¸ö”¶ÔÏóʱ£¬this²»¿ÉÊ¡ÂÔ£¡
JavaScriptÌṩÁË´«µÝthis²ÎÊýµÄ¶àÖÖÐÎʽºÍÊֶΣ¬ÆäÖУ¬ÏóBillGates.WhoAmI()ºÍSteveJobs.WhoAmI()ÕâÖÖÐÎʽ£¬ÊÇ´«µÝthis²ÎÊý×îÕý¹æµÄÐÎʽ£¬´ËʱµÄthis¾ÍÊǺ¯ÊýËùÊôµÄ¶ÔÏó±¾Éí¡£¶ø´ó¶àÊýÇé¿öÏ£¬ÎÒÃÇÒ²¼¸ºõºÜÉÙÈ¥²ÉÓÃÄÇЩ½è»¨ÏÉ·ðµÄµ÷ÓÃÐÎʽ¡£µ«Ö»ÎÒÃÇÒªÃ÷°×JavaScriptµÄÕâ¸ö“×ÔÎÒ”ÓëÆäËû±à³ÌÓïÑԵē×ÔÎÒ”ÊDz»Í¬µÄ£¬ÕâÊÇÒ»¸ö·ÅÏÂÁ˵ē×ÔÎÒ”£¬Õâ¾ÍÊÇJavaScriptÌØÓеÄÊÀ½ç¹Û¡£
¶ÔÏóËØÃè
ÒѾ˵ÁËÐí¶àÁËÐí¶à»°ÌâÁË£¬µ«ÓÐÒ»¸öºÜ»ù±¾µÄÎÊÌâÎÒÃÇÍüÁËÌÖÂÛ£¬ÄǾÍÊÇ£ºÔõÑù½¨Á¢¶ÔÏó£¿
ÔÚÇ°ÃæµÄʾÀýÖУ¬ÎÒÃÇÒÑ¾Éæ¼°µ½Á˶ÔÏóµÄ½¨Á¢ÁË¡£ÎÒÃÇʹÓÃÁËÒ»ÖÖ±»³ÆÎªJavaScript Object Notation(ËõдJSON)µÄÐÎʽ£¬·ÒëΪÖÐÎľÍÊÇ“JavaScript¶ÔÏó±íʾ·¨”¡£
JSONΪ´´½¨¶ÔÏóÌṩÁ˷dz£¼òµ¥µÄ·½·¨¡£ÀýÈ磬
´´½¨Ò»¸öûÓÐÈκÎÊôÐԵĶÔÏó£º
´´½¨Ò»¸ö¶ÔÏó²¢ÉèÖÃÊôÐÔ¼°³õʼֵ£º
´´½¨Ò»¸ö¶ÔÏó²¢ÉèÖÃÊôÐԺͷ½·¨£º
´´½¨Ò»¸ö¸ü¸´ÔӵĶÔÏó£¬Ç¶ÌׯäËû¶ÔÏóºÍ¶ÔÏóÊý×éµÈ£º
{
name: "Microsoft",
product: "softwares",
chairman: {name: "Bill Gates", age: 53, Married: true},
employees: [{name: "Angel", age: 26, Married: false}, {name: "Hanson", age: 32, Marred: true}],
readme: function() {document.write(this.name + " product " + this.product);}
};
JSONµÄÐÎʽ¾ÍÊÇÓôóÀ¨“{}”ºÅ°üÀ¨ÆðÀ´µÄÏîÄ¿ÁÐ±í£¬Ã¿Ò»¸öÏîÄ¿¼ä²¢ÓöººÅ“,”·Ö¸ô£¬¶øÏîÄ¿¾ÍÊÇÓÃðºÅ“:”·Ö¸ôµÄÊôÐÔÃûºÍÊôÐÔÖµ¡£ÕâÊǵäÐ͵Ä×Öµä±íʾÐÎʽ£¬Ò²ÔٴαíÃ÷ÁË JavaScriptÀïµÄ¶ÔÏó¾ÍÊÇ×Öµä½á¹¹¡£²»¹Ü¶àô¸´ÔӵĶÔÏ󣬶¼¿ÉÒÔ±»Ò»¾äJSON´úÂëÀ´´´½¨²¢¸³Öµ¡£
Æäʵ£¬JSON¾ÍÊÇJavaScript¶ÔÏó×îºÃµÄÐòÁл¯ÐÎʽ£¬Ëü±ÈXML¸ü¼ò½àÒ²¸üÊ¡¿Õ¼ä¡£¶ÔÏó¿ÉÒÔ×÷Ϊһ¸öJSONÐÎʽµÄ×Ö·û´®£¬ÔÚÍøÂç¼ä×ÔÓÉ´«µÝºÍ½»»»ÐÅÏ¢¡£¶øµ±ÐèÒª½«Õâ¸öJSON×Ö·û´®±ä³ÉÒ»¸öJavaScript¶ÔÏóʱ£¬Ö»ÐèҪʹÓÃevalº¯ÊýÕâ¸öÇ¿´óµÄÊýÂëת»»ÒýÇæ£¬¾ÍÁ¢¼´Äܵõ½Ò»¸öJavaScriptÄÚ´æ¶ÔÏó¡£ÕýÊÇÓÉÓÚJSONµÄÕâÖÖ¼òµ¥ÆÓËØµÄÌìÉúÀöÖÊ£¬²ÅʹµÃËýÔÚAJAXÎę̀ÉϳÉΪèè²¶áÄ¿µÄÃ÷ÐÇ¡£
JavaScript¾ÍÊÇÕâÑù£¬°ÑÃæÏò¶ÔÏóÄÇЩ¿´ËƸ´ÔӵĶ«Î÷£¬Óü°Æä¼ò½àµÄÐÎʽ±í´ï³öÀ´¡£Ð¶Ï¶ÔÏ󸡻ªµÄŨױ£¬»¹¶ÔÏóÒ»¸öüĿÇåÎú£¡
¹¹Ôì¶ÔÏó
ºÃÁË£¬½ÓÏÂÎÒÃÇÀ´ÌÖÂÛһ϶ÔÏóµÄÁíÒ»ÖÖ´´½¨·½·¨¡£
³ýJSONÍ⣬ÔÚJavaScriptÖÐÎÒÃÇ¿ÉÒÔʹÓÃnew²Ù×÷·û½áºÏÒ»¸öº¯ÊýµÄÐÎʽÀ´´´½¨¶ÔÏó¡£ÀýÈ磺
var anObj = new MyFunc(); //ʹÓÃnew²Ù×÷·û£¬½èÖúMyFunº¯Êý£¬¾Í´´½¨ÁËÒ»¸ö¶ÔÏó
JavaScriptµÄÕâÖÖ´´½¨¶ÔÏóµÄ·½Ê½¿ÉÕæÓÐÒâ˼£¬ÈçºÎÈ¥Àí½âÕâÖÖд·¨ÄØ£¿
Æäʵ£¬¿ÉÒÔ°ÑÉÏÃæµÄ´úÂë¸Äд³ÉÕâÖֵȼÛÐÎʽ£º
var anObj = {}; //´´½¨Ò»¸ö¶ÔÏó
MyFunc.call(anObj); //½«anObj¶ÔÏó×÷ΪthisÖ¸Õëµ÷ÓÃMyFuncº¯Êý
ÎÒÃǾͿÉÒÔÕâÑùÀí½â£¬JavaScriptÏÈÓÃnew²Ù×÷·û´´½¨ÁËÒ»¸ö¶ÔÏ󣬽ô½Óמͽ«Õâ¸ö¶ÔÏó×÷Ϊthis²ÎÊýµ÷ÓÃÁ˺óÃæµÄº¯Êý¡£Æäʵ£¬JavaScriptÄÚ²¿¾ÍÊÇÕâô×öµÄ£¬¶øÇÒÈκκ¯Êý¶¼¿ÉÒÔ±»ÕâÑùµ÷Ó㡵«´Ó “anObj = new MyFunc()” ÕâÖÖÐÎʽ£¬ÎÒÃÇÓÖ¿´µ½Ò»¸öÊìϤµÄÉíÓ°£¬C++ºÍC#²»¾ÍÊÇÕâÑù´´½¨¶ÔÏóµÄÂð£¿ÔÀ´£¬ÌõÌõ´ó·ͨÁéɽ£¬Êâ;ͬ¹é°¡£¡
¾ý¿´µ½´Ë´¦Ò²Ðí»áÏ룬ÎÒÃÇΪʲô²»¿ÉÒÔ°ÑÕâ¸öMyFuncµ±×÷¹¹Ô캯ÊýÄØ£¿¹§Ï²Ä㣬´ð¶ÔÁË£¡JavaScriptÒ²ÊÇÕâôÏëµÄ£¡Çë¿´ÏÂÃæµÄ´úÂ룺
2 {
3 this.name = name; //½«²ÎÊýÖµ¸³¸ø¸øthis¶ÔÏóµÄÊôÐÔ
4 this.SayHello = function() {alert("Hello, I'm " + this.name);}; //¸øthis¶ÔÏó¶¨ÒåÒ»¸öSayHello·½·¨¡£
5 };
6
7 function Employee(name, salary) //×Ó¹¹Ô캯Êý
8 {
9 Person.call(this, name); //½«this´«¸ø¸¸¹¹Ô캯Êý
10 this.salary = salary; //ÉèÖÃÒ»¸öthisµÄsalaryÊôÐÔ
11 this.ShowMeTheMoney = function() {alert(this.name + " $" + this.salary);}; //Ìí¼ÓShowMeTheMoney·½·¨¡£
12 };
13
14 var BillGates = new Person("Bill Gates"); //ÓÃPerson¹¹Ô캯Êý´´½¨BillGates¶ÔÏó
15 var SteveJobs = new Employee("Steve Jobs", 1234); //ÓÃEmpolyee¹¹Ô캯Êý´´½¨SteveJobs¶ÔÏó
16
17 BillGates.SayHello(); //ÏÔʾ£ºI'm Bill Gates
18 SteveJobs.SayHello(); //ÏÔʾ£ºI'm Steve Jobs
19 SteveJobs.ShowMeTheMoney(); //ÏÔʾ£ºSteve Jobs $1234
20
21 alert(BillGates.constructor == Person); //ÏÔʾ£ºtrue
22 alert(SteveJobs.constructor == Employee); //ÏÔʾ£ºtrue
23
24 alert(BillGates.SayHello == SteveJobs.SayHello); //ÏÔʾ£ºfalse
Õâ¶Î´úÂë±íÃ÷£¬º¯Êý²»µ«¿ÉÒÔµ±×÷¹¹Ô캯Êý£¬¶øÇÒ»¹¿ÉÒÔ´ø²ÎÊý£¬»¹¿ÉÒÔΪ¶ÔÏóÌí¼Ó³ÉÔ±ºÍ·½·¨¡£ÆäÖеĵÚ9ÐУ¬Employee¹¹Ô캯ÊýÓÖ½«×Ô¼º½ÓÊÕµÄthis×÷Ϊ²ÎÊýµ÷ÓÃPerson¹¹Ô캯Êý£¬Õâ¾ÍÊÇÏ൱ÓÚµ÷ÓûùÀàµÄ¹¹Ô캯Êý¡£µÚ21¡¢22Ðл¹±íÃ÷ÕâÑùÒ»¸öÒâ˼£ºBillGatesÊÇÓÉPerson¹¹ÔìµÄ£¬¶øSteveJobsÊÇÓÉEmployee¹¹ÔìµÄ¡£¶ÔÏóÄÚÖõÄconstructorÊôÐÔ»¹Ö¸Ã÷Á˹¹Ôì¶ÔÏóËùÓõľßÌ庯Êý£¡
Æäʵ£¬Èç¹ûÄãÔ¸Òâ°Ñº¯Êýµ±×÷“Àà”µÄ»°£¬Ëý¾ÍÊÇ“Àà”£¬ÒòΪËý±¾À´¾ÍÓГÀà”µÄÄÇÐ©ÌØÕ÷¡£ÄѵÀ²»ÊÇÂð£¿ËýÉú³öµÄ¶ù×Ó¸÷¸ö¶¼ÓÐÏàͬµÄÌØÕ÷£¬¶øÇÒ¹¹Ô캯ÊýÒ²ÓëÀàͬÃûÂ
µ«Òª×¢ÒâµÄÊÇ£¬Óù¹Ô캯Êý²Ù×÷this¶ÔÏó´´½¨³öÀ´µÄÿһ¸ö¶ÔÏ󣬲»µ«¾ßÓи÷×ԵijÉÔ±Êý¾Ý£¬¶øÇÒ»¹¾ßÓи÷×Եķ½·¨Êý¾Ý¡£»»¾ä»°Ëµ£¬·½·¨µÄ´úÂëÌå(ÌåÏÖº¯ÊýÂß¼µÄÊý¾Ý)ÔÚÿһ¸ö¶ÔÏóÖж¼´æÔÚÒ»¸ö¸±±¾¡£¾¡¹Üÿһ¸ö´úÂ븱±¾µÄÂß¼ÊÇÏàͬµÄ£¬µ«¶ÔÏóÃÇȷʵÊǸ÷×Ô±£´æÁËÒ»·Ý´úÂëÌå¡£ÉÏÀýÖеÄ×îºóÒ»¾ä˵Ã÷ÁËÕâһʵÊ£¬ÕâÒ²½âÊÍÁËJavaScriptÖеĺ¯Êý¾ÍÊǶÔÏóµÄ¸ÅÄî¡£
ͬһÀàµÄ¶ÔÏó¸÷×ÔÓÐÒ»·Ý·½·¨´úÂëÏÔÈ»ÊÇÒ»ÖÖÀË·Ñ¡£ÔÚ´«Í³µÄ¶ÔÏóÓïÑÔÖУ¬·½·¨º¯Êý²¢²»ÏóJavaScriptÄÇÑùÊǸö¶ÔÏó¸ÅÄî¡£¼´Ê¹Ò²ÓÐÏóº¯ÊýÖ¸Õë¡¢·½·¨Ö¸Õë»òίÍÐÄÇÑùµÄ±ä»¯ÐÎʽ£¬µ«ÆäʵÖÊÒ²ÊǶÔͬһ·Ý´úÂëµÄÒýÓá£Ò»°ãµÄ¶ÔÏóÓïÑÔºÜÄÑÓöµ½ÕâÖÖÇé¿ö¡£
²»¹ý£¬JavaScriptÓïÑÔÓдóµÄÁé»îÐÔ¡£ÎÒÃÇ¿ÉÒÔÏȶ¨ÒåÒ»·ÝΨһµÄ·½·¨º¯ÊýÌ壬²¢ÔÚ¹¹Ôìthis¶ÔÏóʱʹÓÃÕâΨһµÄº¯Êý¶ÔÏó×÷ΪÆä·½·¨£¬¾ÍÄܹ²Ïí·½·¨Âß¼¡£ÀýÈ磺
{
alert("Hello, I'm " + this.name);
};
function Person(name) //´ø²ÎÊýµÄ¹¹Ô캯Êý
{
this.name = name; //½«²ÎÊýÖµ¸³¸ø¸øthis¶ÔÏóµÄÊôÐÔ
this.SayHello = SayHello; //¸øthis¶ÔÏóSayHello·½·¨¸³ÖµÎªÇ°ÃæÄÇ·ÝSayHello´úÂë¡£
};
var BillGates = new Person("Bill Gates"); //´´½¨BillGates¶ÔÏó
var SteveJobs = new Person("Steve Jobs"); //´´½¨SteveJobs¶ÔÏó
alert(BillGates.SayHello == SteveJobs.SayHello); //ÏÔʾ£ºtrue
ÆäÖУ¬×îºóÒ»ÐеÄÊä³ö½á¹û±íÃ÷Á½¸ö¶ÔÏóȷʵ¹²ÏíÁËÒ»¸öº¯Êý¶ÔÏó¡£ËäÈ»£¬Õâ¶Î³ÌÐò´ïµ½Á˹²ÏíÁËÒ»·Ý·½·¨´úÂëµÄÄ¿µÄ£¬µ«È´²»ÔõôÓÅÑÅ¡£ÒòΪ£¬¶¨ÒåSayHello·½·¨Ê±·´Ó³²»³öÆäÓëPersonÀàµÄ¹ØÏµ¡£“ÓÅÑÅ”Õâ¸ö´ÊÓÃÀ´ÐÎÈÝ´úÂ룬Ҳ²»ÖªµÀÊÇËÏÈÌá³öÀ´µÄ¡£²»¹ý£¬Õâ¸ö´Ê·´Ó³Á˳ÌÐòÔ±ÒѾ´Ó×·Çó´úÂëµÄÕýÈ·¡¢¸ßЧ¡¢¿É¿¿ºÍÒ×¶ÁµÈ»ù´¡ÉÏ£¬Ïò×Å×·Çó´úÂëµÄÃÀ¹Û¸Ð¾õºÍÒÕÊõ¾³½çµÄ²ã´Î·¢Õ¹£¬³ÌÐòÈËÉúÓÖ¶àÁËЩÀËÂþÉ«²Ê¡£
ÏÔÈ»£¬JavaScriptÔçÏëµ½ÁËÕâÒ»ÎÊÌ⣬ËýµÄÉè¼ÆÕßÃÇΪ´ËÌṩÁËÒ»¸öÓÐȤµÄprototype¸ÅÄî¡£
³õ¿´ÔÐÍ
prototypeÔ´×Ô·¨ÓÈí¼þ½çµÄ±ê×¼·ÒëΪ“ÔÐÍ”£¬´ú±íÊÂÎïµÄ³õʼÐÎ̬£¬Ò²º¬ÓÐÄ£ÐͺÍÑù°åµÄÒâÒå¡£JavaScriptÖеÄprototype¸ÅÄîÇ¡ÈçÆä·ÖµØ·´Ó³ÁËÕâ¸ö´ÊµÄÄÚº¬£¬ÎÒÃDz»Äܽ«ÆäÀí½âΪC++µÄprototypeÄÇÖÖÔ¤ÏÈÉùÃ÷µÄ¸ÅÄî¡£
JavaScriptµÄËùÓÐfunctionÀàÐ͵ĶÔÏó¶¼ÓÐÒ»¸öprototypeÊôÐÔ¡£Õâ¸öprototypeÊôÐÔ±¾ÉíÓÖÊÇÒ»¸öobjectÀàÐ͵ĶÔÏó£¬Òò´ËÎÒÃÇÒ²¿ÉÒÔ¸øÕâ¸öprototype¶ÔÏóÌí¼ÓÈÎÒâµÄÊôÐԺͷ½·¨¡£¼ÈÈ»prototypeÊǶÔÏóµÄ“ÔÐÍ”£¬ÄÇôÓɸú¯Êý¹¹Ôì³öÀ´µÄ¶ÔÏóÓ¦¸Ã¶¼»á¾ßÓÐÕâ¸ö“ÔÐÍ”µÄÌØÐÔ¡£ÊÂʵÉÏ£¬ÔÚ¹¹Ô캯ÊýµÄprototypeÉ϶¨ÒåµÄËùÓÐÊôÐԺͷ½·¨£¬¶¼ÊÇ¿ÉÒÔͨ¹ýÆä¹¹ÔìµÄ¶ÔÏóÖ±½Ó·ÃÎʺ͵÷Óõġ£Ò²¿ÉÒÔÕâô˵£¬prototypeÌṩÁËһȺͬÀà¶ÔÏó¹²ÏíÊôÐԺͷ½·¨µÄ»úÖÆ¡£
ÎÒÃÇÏÈÀ´¿´¿´ÏÂÃæµÄ´úÂ룺
{
this.name = name; //ÉèÖöÔÏóÊôÐÔ£¬Ã¿¸ö¶ÔÏó¸÷×ÔÒ»·ÝÊôÐÔÊý¾Ý
};
Person.prototype.SayHello = function() //¸øPersonº¯ÊýµÄprototypeÌí¼ÓSayHello·½·¨¡£
{
alert("Hello, I'm " + this.name);
}
var BillGates = new Person("Bill Gates"); //´´½¨BillGates¶ÔÏó
var SteveJobs = new Person("Steve Jobs"); //´´½¨SteveJobs¶ÔÏó
BillGates.SayHello(); //ͨ¹ýBillGates¶ÔÏóÖ±½Óµ÷Óõ½SayHello·½·¨
SteveJobs.SayHello(); //ͨ¹ýSteveJobs¶ÔÏóÖ±½Óµ÷Óõ½SayHello·½·¨
alert(BillGates.SayHello == SteveJobs.SayHello); //ÒòΪÁ½¸ö¶ÔÏóÊǹ²ÏíprototypeµÄSayHello£¬ËùÒÔÏÔʾ£ºtrue
³ÌÐòÔËÐеĽá¹û±íÃ÷£¬¹¹Ô캯ÊýµÄprototypeÉ϶¨ÒåµÄ·½·¨È·Êµ¿ÉÒÔͨ¹ý¶ÔÏóÖ±½Óµ÷Óõ½£¬¶øÇÒ´úÂëÊǹ²ÏíµÄ¡£ÏÔÈ»£¬°Ñ·½·¨ÉèÖõ½prototypeµÄд·¨ÏÔµÃÓÅÑŶàÁË£¬¾¡¹Üµ÷ÓÃÐÎʽûÓб䣬µ«Âß¼ÉÏÈ´ÌåÏÖÁË·½·¨ÓëÀàµÄ¹ØÏµ£¬Ïà¶ÔÇ°ÃæµÄд·¨£¬¸üÈÝÒ×Àí½âºÍ×éÖ¯´úÂë¡£
ÄÇô£¬¶ÔÓÚ¶à²ã´ÎÀàÐ͵Ĺ¹Ô캯ÊýÇé¿öÓÖÈçºÎÄØ£¿
ÎÒÃÇÔÙÀ´¿´ÏÂÃæµÄ´úÂ룺
2 {
3 this.name = name;
4 };
5
6 Person.prototype.SayHello = function() //¸ø»ùÀ๹Ô캯ÊýµÄprototypeÌí¼Ó·½·¨
7 {
8 alert("Hello, I'm " + this.name);
9 };
10
11 function Employee(name, salary) //×ÓÀ๹Ô캯Êý
12 {
13 Person.call(this, name); //µ÷ÓûùÀ๹Ô캯Êý
14 this.salary = salary;
15 };
16
17 Employee.prototype = new Person(); //½¨Ò»¸ö»ùÀàµÄ¶ÔÏó×÷Ϊ×ÓÀàÔÐ͵ÄÔÐÍ£¬ÕâÀïºÜÓÐÒâ˼
18
19 Employee.prototype.ShowMeTheMoney = function() //¸ø×ÓÀàÌí¹¹Ô캯ÊýµÄprototypeÌí¼Ó·½·¨
20 {
21 alert(this.name + " $" + this.salary);
22 };
23
24 var BillGates = new Person("Bill Gates"); //´´½¨»ùÀàPersonµÄBillGates¶ÔÏó
25 var SteveJobs = new Employee("Steve Jobs", 1234); //´´½¨×ÓÀàEmployeeµÄSteveJobs¶ÔÏó
26
27 BillGates.SayHello(); //ͨ¹ý¶ÔÏóÖ±½Óµ÷Óõ½prototypeµÄ·½·¨
28 SteveJobs.SayHello(); //ͨ¹ý×ÓÀà¶ÔÏóÖ±½Óµ÷ÓûùÀàprototypeµÄ·½·¨£¬¹Ø×¢£¡
29 SteveJobs.ShowMeTheMoney(); //ͨ¹ý×ÓÀà¶ÔÏóÖ±½Óµ÷ÓÃ×ÓÀàprototypeµÄ·½·¨
30
31 alert(BillGates.SayHello == SteveJobs.SayHello); //ÏÔʾ£ºtrue£¬±íÃ÷prototypeµÄ·½·¨Êǹ²ÏíµÄ
Õâ¶Î´úÂëµÄµÚ17ÐУ¬¹¹ÔìÁËÒ»¸ö»ùÀàµÄ¶ÔÏ󣬲¢½«ÆäÉèΪ×ÓÀ๹Ô캯ÊýµÄprototype£¬ÕâÊǺÜÓÐÒâ˼µÄ¡£ÕâÑù×öµÄÄ¿µÄ¾ÍÊÇΪÁ˵Ú28ÐУ¬Í¨¹ý×ÓÀà¶ÔÏóÒ²¿ÉÒÔÖ±½Óµ÷ÓûùÀàprototypeµÄ·½·¨¡£ÎªÊ²Ã´¿ÉÒÔÕâÑùÄØ£¿
ÔÀ´£¬ÔÚJavaScriptÖУ¬prototype²»µ«ÄÜÈöÔÏó¹²Ïí×Ô¼º²Æ¸»£¬¶øÇÒprototype»¹ÓÐѰ¸ùÎÊ׿µÄÌìÐÔ£¬´Ó¶øÊ¹µÃÏȱ²ÃǵÄÒŲú¿ÉÒÔ´ú´úÏà´«¡£µ±´ÓÒ»¸ö¶ÔÏóÄÇÀï¶ÁÈ¡ÊôÐÔ»òµ÷Ó÷½·¨Ê±£¬Èç¹û¸Ã¶ÔÏó×ÔÉí²»´æÔÚÕâÑùµÄÊôÐÔ»ò·½·¨£¬¾Í»áÈ¥×Ô¼º¹ØÁªµÄprototype¶ÔÏóÄÇÀïѰÕÒ£»Èç¹ûprototypeûÓУ¬ÓÖ»áÈ¥prototype×Ô¼º¹ØÁªµÄǰ±²prototypeÄÇÀïѰÕÒ£¬Ö±µ½ÕÒµ½»ò×·Ëݹý³Ì½áÊøÎªÖ¹¡£
ÔÚJavaScriptÄÚ²¿£¬¶ÔÏóµÄÊôÐԺͷ½·¨×·ËÝ»úÖÆÊÇͨ¹ýËùνµÄprototypeÁ´À´ÊµÏֵġ£µ±ÓÃnew²Ù×÷·û¹¹Ôì¶ÔÏóʱ£¬Ò²»áͬʱ½«¹¹Ô캯ÊýµÄprototype¶ÔÏóÖ¸ÅɸøÐ´´½¨µÄ¶ÔÏ󣬳ÉΪ¸Ã¶ÔÏóÄÚÖõÄÔÐͶÔÏó¡£¶ÔÏóÄÚÖõÄÔÐͶÔÏóÓ¦¸ÃÊǶÔÍâ²»¿É¼ûµÄ£¬¾¡¹ÜÓÐЩä¯ÀÀÆ÷(ÈçFirefox)¿ÉÒÔÈÃÎÒÃÇ·ÃÎÊÕâ¸öÄÚÖÃÔÐͶÔÏ󣬵«²¢²»½¨ÒéÕâÑù×ö¡£ÄÚÖõÄÔÐͶÔÏó±¾ÉíÒ²ÊǶÔÏó£¬Ò²ÓÐ×Ô¼º¹ØÁªµÄÔÐͶÔÏó£¬ÕâÑù¾ÍÐγÉÁËËùνµÄÔÐÍÁ´¡£
ÔÚÔÐÍÁ´µÄ×îÄ©¶Ë£¬¾ÍÊÇObject¹¹Ô캯ÊýprototypeÊôÐÔÖ¸ÏòµÄÄÇÒ»¸öÔÐͶÔÏó¡£Õâ¸öÔÐͶÔÏóÊÇËùÓжÔÏóµÄ×îÀÏ׿ÏÈ£¬Õâ¸öÀÏ׿×ÚʵÏÖÁËÖîÈçtoStringµÈËùÓжÔÏóÌìÉú¾Í¸Ã¾ßÓеķ½·¨¡£ÆäËûÄÚÖù¹Ô캯Êý£¬ÈçFunction, Boolean, String, DateºÍRegExpµÈµÄprototype¶¼ÊÇ´ÓÕâ¸öÀÏ׿×Ú´«³ÐÏÂÀ´µÄ£¬µ«ËûÃǸ÷×ÔÓÖ¶¨ÒåÁË×ÔÉíµÄÊôÐԺͷ½·¨£¬´Ó¶øËûÃǵÄ×ÓËï¾Í±íÏÖ³ö¸÷×Ô×Ú×åµÄÄÇÐ©ÌØÕ÷¡£
Õâ²»¾ÍÊÇ“¼Ì³Ð”Âð£¿Êǵģ¬Õâ¾ÍÊÇ“¼Ì³Ð”£¬ÊÇJavaScriptÌØÓеēÔÐͼ̳Д¡£
“ÔÐͼ̳ДÊÇ´ÈÏé¶øÓÖÑÏÀ÷µÄ¡£ÔÐζÔÏó½«×Ô¼ºµÄÊôÐԺͷ½·¨ÎÞ˽µØ¹±Ï׸øº¢×ÓÃÇʹÓã¬Ò²²¢²»Ç¿ÆÈº¢×ÓÃDZØÐë×ñ´Ó£¬ÔÊÐíһЩÍçÆ¤º¢×Ó°´×Ô¼ºµÄÐËȤºÍ°®ºÃ¶ÀÁ¢ÐÐÊ¡£´ÓÕâµãÉÏ¿´£¬ÔÐͶÔÏóÊÇһλ´ÈÏéµÄĸÇס£È»¶ø£¬ÈκÎÒ»¸öº¢×ÓËäÈ»¿ÉÒÔÎÒÐÐÎÒËØ£¬µ«È´²»Äܶ¯ÔÐͶÔÏó¼ÈÓеIJƲú£¬ÒòΪÄÇ¿ÉÄÜ»áÓ°Ïìµ½ÆäËûº¢×ÓµÄÀûÒæ¡£´ÓÕâÒ»µãÉÏ¿´£¬ÔÐͶÔÏóÓÖÏóһλÑÏÀ÷µÄ¸¸Çס£ÎÒÃÇÀ´¿´¿´ÏÂÃæµÄ´úÂë¾Í¿ÉÒÔÀí½âÕâ¸öÒâ˼ÁË£º
{
this.name = name;
};
Person.prototype.company = "Microsoft"; //ÔÐ͵ÄÊôÐÔ
Person.prototype.SayHello = function() //ÔÐ͵ķ½·¨
{
alert("Hello, I'm " + this.name + " of " + this.company);
};
var BillGates = new Person("Bill Gates");
BillGates.SayHello(); //ÓÉÓڼ̳ÐÁËÔÐ͵Ķ«Î÷£¬¹æ¹æ¾Ø¾ØÊä³ö£ºHello, I'm Bill Gates
var SteveJobs = new Person("Steve Jobs");
SteveJobs.company = "Apple"; //ÉèÖÃ×Ô¼ºµÄcompanyÊôÐÔ£¬ÑÚ¸ÇÁËÔÐ͵ÄcompanyÊôÐÔ
SteveJobs.SayHello = function() //ʵÏÖÁË×Ô¼ºµÄSayHello·½·¨£¬ÑÚ¸ÇÁËÔÐ͵ÄSayHello·½·¨
{
alert("Hi, " + this.name + " like " + this.company + ", ha ha ha ");
};
SteveJobs.SayHello(); //¶¼ÊÇ×Ô¼º¸²¸ÇµÄÊôÐԺͷ½·¨£¬Êä³ö£ºHi, Steve Jobs like Apple, ha ha ha
BillGates.SayHello(); //SteveJobsµÄ¸²¸ÇûÓÐÓ°ÏìÔÐͶÔÏó£¬BillGates»¹Êǰ´ÀÏÑù×ÓÊä³ö
¶ÔÏó¿ÉÒÔÑÚ¸ÇÔÐͶÔÏóµÄÄÇЩÊôÐԺͷ½·¨£¬Ò»¸ö¹¹Ô캯ÊýÔÐͶÔÏóÒ²¿ÉÒÔÑÚ¸ÇÉϲ㹹Ô캯ÊýÔÐͶÔÏó¼ÈÓеÄÊôÐԺͷ½·¨¡£ÕâÖÖÑÚ¸ÇÆäʵֻÊÇÔÚ¶ÔÏó×Ô¼ºÉíÉÏ´´½¨ÁËеÄÊôÐԺͷ½·¨£¬Ö»²»¹ýÕâЩÊôÐԺͷ½·¨ÓëÔÐͶÔÏóµÄÄÇЩͬÃû¶øÒÑ¡£JavaScript¾ÍÊÇÓÃÕâ¼òµ¥µÄÑڸǻúÖÆÊµÏÖÁ˶ÔÏóµÄ“¶à̬”ÐÔ£¬Ó뾲̬¶ÔÏóÓïÑÔµÄÐ麯ÊýºÍÖØÔØ(override)¸ÅÄı¶øºÏ¡£
È»¶ø£¬±È¾²Ì¬¶ÔÏóÓïÑÔ¸üÉñÆæµÄÊÇ£¬ÎÒÃÇ¿ÉÒÔËæÊ±¸øÔÐͶÔÏó¶¯Ì¬Ìí¼ÓеÄÊôÐԺͷ½·¨£¬´Ó¶ø¶¯Ì¬µØÀ©Õ¹»ùÀàµÄ¹¦ÄÜÌØÐÔ¡£ÕâÔÚ¾²Ì¬¶ÔÏóÓïÑÔÖÐÊǺÜÄÑÏëÏóµÄ¡£ÎÒÃÇÀ´¿´ÏÂÃæµÄ´úÂ룺
{
this.name = name;
};
Person.prototype.SayHello = function() //½¨Á¢¶ÔÏóǰ¶¨ÒåµÄ·½·¨
{
alert("Hello, I'm " + this.name);
};
var BillGates = new Person("Bill Gates"); //½¨Á¢¶ÔÏó
BillGates.SayHello();
Person.prototype.Retire = function() //½¨Á¢¶ÔÏóºóÔÙ¶¯Ì¬À©Õ¹ÔÐ͵ķ½·¨
{
alert("Poor " + this.name + ", bye bye!");
};
BillGates.Retire(); //¶¯Ì¬À©Õ¹µÄ·½·¨¼´¿É±»ÏÈǰ½¨Á¢µÄ¶ÔÏóÁ¢¼´µ÷ÓÃ
°¢ÃÖÙ¢·ð£¬ÔÐͼ̳о¹È»¿ÉÒÔÍæ³öÓÐÕâÑùµÄ·¨Êõ£¡
ÔÐÍÀ©Õ¹
Ïë±Ø¾ýµÄÎòÐÔ¼«¸ß£¬¿ÉÄÜÄã»áÕâÑùÏ룺Èç¹ûÔÚJavaScriptÄÚÖõÄÄÇЩÈçObjectºÍFunctionµÈº¯ÊýµÄprototypeÉÏÌí¼ÓЩÐµķ½·¨ºÍÊôÐÔ£¬ÊDz»ÊǾÍÄÜÀ©Õ¹JavaScriptµÄ¹¦ÄÜÄØ£¿
ÄÇô£¬¹§Ï²Ä㣬ÄãµÃµ½ÁË£¡
ÔÚAJAX¼¼ÊõѸÃÍ·¢Õ¹µÄ½ñÌ죬Ðí¶à³É¹¦µÄAJAXÏîÄ¿µÄJavaScriptÔËÐпⶼ´óÁ¿À©Õ¹ÁËÄÚÖú¯ÊýµÄprototype¹¦ÄÜ¡£±ÈÈç΢ÈíµÄASP.NET AJAX£¬¾Í¸øÕâЩÄÚÖú¯Êý¼°ÆäprototypeÌí¼ÓÁË´óÁ¿µÄÐÂÌØÐÔ£¬´Ó¶øÔöÇ¿ÁËJavaScriptµÄ¹¦ÄÜ¡£
ÎÒÃÇÀ´¿´Ò»¶ÎÕª×ÔMicrosoftAjax.debug.jsÖеĴúÂ룺
if (arguments.length !== 0) throw Error.parameterCount();
return this.replace(/^\s+|\s+$/g, '');
}
Õâ¶Î´úÂë¾ÍÊǸøÄÚÖÃStringº¯ÊýµÄprototypeÀ©Õ¹ÁËÒ»¸ötrim·½·¨£¬ÓÚÊÇËùÓеÄStringÀà¶ÔÏó¶¼ÓÐÁËtrim·½·¨ÁË¡£ÓÐÁËÕâ¸öÀ©Õ¹£¬½ñºóҪȥ³ý×Ö·û´®Á½¶ÎµÄ¿Õ°×£¬¾Í²»ÓÃÔÙ·Ö±ð´¦ÀíÁË£¬ÒòΪÈκÎ×Ö·û´®¶¼ÓÐÁËÕâ¸öÀ©Õ¹¹¦ÄÜ£¬Ö»Òªµ÷Óü´¿É£¬ÕæµÄºÜ·½±ã¡£
µ±È»£¬¼¸ºõºÜÉÙÓÐÈËÈ¥¸øObjectµÄprototypeÌí¼Ó·½·¨£¬ÒòΪÄÇ»áÓ°Ïìµ½ËùÓеĶÔÏ󣬳ý·ÇÔÚÄãµÄ¼Ü¹¹ÖÐÕâÖÖ·½·¨µÄÈ·ÊÇËùÓжÔÏó¶¼ÐèÒªµÄ¡£
ǰÁ½Ä꣬΢ÈíÔÚÉè¼ÆAJAXÀà¿âµÄ³õÆÚ£¬ÓÃÁËÒ»ÖÖ±»³ÆÎª“±Õ°ü”(closure)µÄ¼¼ÊõÀ´Ä£Äâ“Àà”¡£Æä´óÖÂÄ£ÐÍÈçÏ£º
{
//˽ÓбäÁ¿£º
var _firstName = firstName;
var _lastName = lastName;
//¹«¹²±äÁ¿:
this.age = age;
//·½·¨£º
this.getName = function()
{
return(firstName + " " + lastName);
};
this.SayHello = function()
{
alert("Hello, I'm " + firstName + " " + lastName);
};
};
var BillGates = new Person("Bill", "Gates", 53);
var SteveJobs = new Person("Steve", "Jobs", 53);
BillGates.SayHello();
SteveJobs.SayHello();
alert(BillGates.getName() + " " + BillGates.age);
alert(BillGates.firstName); //ÕâÀï²»ÄÜ·ÃÎʵ½Ë½ÓбäÁ¿
ºÜÏÔÈ»£¬ÕâÖÖÄ£Ð͵ÄÀàÃèÊöÌØ±ðÏóC#ÓïÑÔµÄÃèÊöÐÎʽ£¬ÔÚÒ»¸ö¹¹Ô캯ÊýÀïÒÀ´Î¶¨ÒåÁË˽ÓгÉÔ±¡¢¹«¹²ÊôÐԺͿÉÓõķ½·¨£¬ÏԵ÷dz£ÓÅÑÅÂï¡£ÌØ±ðÊÇ“±Õ°ü”»úÖÆ¿ÉÒÔÄ£Äâ¶Ô˽ÓгÉÔ±µÄ±£»¤»úÖÆ£¬×öµÃ·Ç³£Æ¯ÁÁ¡£
ËùνµÄ“±Õ°ü”£¬¾ÍÊÇÔÚ¹¹Ô캯ÊýÌåÄÚ¶¨ÒåÁíÍâµÄº¯Êý×÷ΪĿ±ê¶ÔÏóµÄ·½·¨º¯Êý£¬¶øÕâ¸ö¶ÔÏóµÄ·½·¨º¯Êý·´¹ýÀ´ÒýÓÃÍâ²ãÍâ²ãº¯ÊýÌåÖеÄÁÙʱ±äÁ¿¡£ÕâʹµÃֻҪĿ±ê¶ÔÏóÔÚÉú´æÆÚÄÚʼÖÕÄܱ£³ÖÆä·½·¨£¬¾ÍÄܼä½Ó±£³ÖÔ¹¹Ô캯ÊýÌ嵱ʱÓõ½µÄÁÙʱ±äÁ¿Öµ¡£¾¡¹Ü×ʼµÄ¹¹Ô캯Êýµ÷ÓÃÒѾ½áÊø£¬ÁÙʱ±äÁ¿µÄÃû³ÆÒ²¶¼ÏûʧÁË£¬µ«ÔÚÄ¿±ê¶ÔÏóµÄ·½·¨ÄÚȴʼÖÕÄÜÒýÓõ½¸Ã±äÁ¿µÄÖµ£¬¶øÇÒ¸ÃÖµÖ»ÄÜͨÕâÖÖ·½·¨À´·ÃÎÊ¡£¼´Ê¹Ôٴε÷ÓÃÏàͬµÄ¹¹Ô캯Êý£¬µ«Ö»»áÉú³ÉжÔÏóºÍ·½·¨£¬ÐµÄÁÙʱ±äÁ¿Ö»ÊǶÔӦеÄÖµ£¬ºÍÉÏ´ÎÄǴε÷ÓõÄÊǸ÷×Ô¶ÀÁ¢µÄ¡£µÄÈ·ºÜÇÉÃ
µ«ÊÇÇ°ÃæÎÒÃÇ˵¹ý£¬¸øÃ¿Ò»¸ö¶ÔÏóÉèÖÃÒ»·Ý·½·¨ÊÇÒ»ÖֺܴóµÄÀË·Ñ¡£»¹ÓУ¬“±Õ°ü”ÕâÖÖ¼ä½Ó±£³Ö±äÁ¿ÖµµÄ»úÖÆ£¬ÍùÍù»á¸øJavaSriptµÄÀ¬»ø»ØÊÕÆ÷ÖÆÔìÄÑÌâ¡£ÌØ±ðÊÇÓöµ½¶ÔÏó¼ä¸´ÔÓµÄÑ»·ÒýÓÃʱ£¬À¬»ø»ØÊÕµÄÅжÏÂß¼·Ç³£¸´ÔÓ¡£ÎÞ¶ÀÓÐż£¬IEä¯ÀÀÆ÷ÔçÆÚ°æ±¾È·Êµ´æÔÚJavaSriptÀ¬»ø»ØÊÕ·½ÃæµÄÄÚ´æÐ¹Â©ÎÊÌâ¡£ÔÙ¼ÓÉÏ“±Õ°ü”Ä£ÐÍÔÚÐÔÄܲâÊÔ·½ÃæµÄ±íÏÖ²»¼Ñ£¬Î¢Èí×îÖÕ·ÅÆúÁË“±Õ°ü”Ä£ÐÍ£¬¶ø¸ÄÓÓÔÐ͔ģÐÍ¡£ÕýËùν“ÓеñØÓÐʧ”Âï¡£
ÔÐÍÄ£ÐÍÐèÒªÒ»¸ö¹¹Ô캯ÊýÀ´¶¨Òå¶ÔÏóµÄ³ÉÔ±£¬¶ø·½·¨È´ÒÀ¸½Ôڸù¹Ô캯ÊýµÄÔÐÍÉÏ¡£´óÖÂд·¨ÈçÏ£º
function Person(name)
{
this.name = name; //ÔÚ¹¹Ô캯ÊýÖж¨Òå³ÉÔ±
};
//·½·¨¶¨Òåµ½¹¹Ô캯ÊýµÄprototypeÉÏ
Person.prototype.SayHello = function()
{
alert("Hello, I'm " + this.name);
};
//×ÓÀ๹Ô캯Êý
function Employee(name, salary)
{
Person.call(this, name); //µ÷ÓÃÉϲ㹹Ô캯Êý
this.salary = salary; //À©Õ¹µÄ³ÉÔ±
};
//×ÓÀ๹Ô캯ÊýÊ×ÏÈÐèÒªÓÃÉϲ㹹Ô캯ÊýÀ´½¨Á¢prototype¶ÔÏó£¬ÊµÏּ̳еĸÅÄî
Employee.prototype = new Person() //Ö»ÐèÒªÆäprototypeµÄ·½·¨£¬´Ë¶ÔÏóµÄ³ÉԱûÓÐÈκÎÒâÒ壡
//×ÓÀà·½·¨Ò²¶¨Òåµ½¹¹Ô캯ÊýÖ®ÉÏ
Employee.prototype.ShowMeTheMoney = function()
{
alert(this.name + " $" + this.salary);
};
var BillGates = new Person("Bill Gates");
BillGates.SayHello();
var SteveJobs = new Employee("Steve Jobs", 1234);
SteveJobs.SayHello();
SteveJobs.ShowMeTheMoney();
ÔÐÍÀàÄ£ÐÍËäÈ»²»ÄÜÄ£ÄâÕæÕýµÄ˽ÓбäÁ¿£¬¶øÇÒÒ²Òª·ÖÁ½²¿·ÖÀ´¶¨ÒåÀ࣬ÏԵò»Ôõô“ÓÅÑÅ”¡£²»¹ý£¬¶ÔÏó¼äµÄ·½·¨Êǹ²ÏíµÄ£¬²»»áÓöµ½À¬»ø»ØÊÕÎÊÌ⣬¶øÇÒÐÔÄÜÓÅÓÚ“±Õ°ü”Ä£ÐÍ¡£ÕýËùν“ÓÐʧ±ØÓеÔÂï¡£
ÔÚÔÐÍÄ£ÐÍÖУ¬ÎªÁËʵÏÖÀà¼Ì³Ð£¬±ØÐëÊ×ÏȽ«×ÓÀ๹Ô캯ÊýµÄprototypeÉèÖÃΪһ¸ö¸¸ÀàµÄ¶ÔÏóʵÀý¡£´´½¨Õâ¸ö¸¸Àà¶ÔÏóʵÀýµÄÄ¿µÄ¾ÍÊÇΪÁ˹¹³ÉÔÐÍÁ´£¬ÒÔÆðµ½¹²ÏíÉϲãÔÐÍ·½·¨×÷Óᣵ«´´½¨Õâ¸öʵÀý¶ÔÏóʱ£¬Éϲ㹹Ô캯ÊýÒ²»á¸øËüÉèÖöÔÏó³ÉÔ±£¬ÕâЩ¶ÔÏó³ÉÔ±¶ÔÓڼ̳ÐÀ´ËµÊÇûÓÐÒâÒåµÄ¡£ËäÈ»£¬ÎÒÃÇҲûÓиø¹¹Ô캯Êý´«µÝ²ÎÊý£¬µ«È·Êµ´´½¨ÁËÈô¸ÉûÓÐÓõijÉÔ±£¬¾¡¹ÜÆäÖµÊÇundefined£¬ÕâÒ²ÊÇÒ»ÖÖÀ˷Ѱ¡¡£
°¦£¡ÊÀ½çÉÏûÓÐÍêÃÀµÄÊÂÇé°¡£¡
ÔÐÍÕæÚÐ
Õýµ±ÎÒÃǸиÅÍò·Öʱ£¬Ìì¿ÕÖÐÒ»µÀºì¹âÉÁ¹ý£¬ÏéÔÆÖгöÏÖÁ˹ÛÒôÆÐÈø¡£Ö»¼ûËýÊÖ³ÖÓñ¾»Æ¿£¬Çá·÷´äÁøÖ¦£¬È÷ϼ¸µÎ¸Ê¶£¬¶ÙʱÈÃJavaScriptÓÖÌíеÄÁ鯸¡£
¹ÛÒôÈ÷ϵĸʶÔÚJavaScriptµÄÊÀ½çÀïÄý½á³É¿é£¬³ÉΪÁËÒ»ÖÖ³ÆÎª“Óï·¨¸Ê¶”µÄ¶«Î÷¡£ÕâÖÖÓï·¨¸Ê¶¿ÉÒÔÈÃÎÒÃDZàдµÄ´úÂë¿´ÆðÀ´¸üÏó¶ÔÏóÓïÑÔ¡£
ÒªÏëÖªµÀÕâ“Óï·¨¸Ê¶”ΪºÎÎ¾ÍÇë¾ý²à¶úϸÌý¡£
ÔÚÀí½âÕâЩÓï·¨¸Ê¶֮ǰ£¬ÎÒÃÇÐèÒªÖØÐÂÔٻعËÒ»ÏÂJavaScript¹¹Ôì¶ÔÏóµÄ¹ý³Ì¡£
ÎÒÃÇÒѾ֪µÀ£¬Óà var anObject = new aFunction() ÐÎʽ´´½¨¶ÔÏóµÄ¹ý³Ìʵ¼ÊÉÏ¿ÉÒÔ·ÖΪÈý²½£ºµÚÒ»²½Êǽ¨Á¢Ò»¸öжÔÏó£»µÚ¶þ²½½«¸Ã¶ÔÏóÄÚÖõÄÔÐͶÔÏóÉèÖÃΪ¹¹Ô캯ÊýprototypeÒýÓõÄÄǸöÔÐͶÔÏó£»µÚÈý²½¾ÍÊǽ«¸Ã¶ÔÏó×÷Ϊthis²ÎÊýµ÷Óù¹Ô캯Êý£¬Íê³É³ÉÔ±ÉèÖõȳõʼ»¯¹¤×÷¡£¶ÔÏó½¨Á¢Ö®ºó£¬¶ÔÏóÉϵÄÈκηÃÎʺͲÙ×÷¶¼Ö»Óë¶ÔÏó×ÔÉí¼°ÆäÔÐÍÁ´ÉϵÄÄÇ´®¶ÔÏóÓйأ¬Óë¹¹Ô캯ÊýÔÙ³¶²»ÉϹØÏµÁË¡£»»¾ä»°Ëµ£¬¹¹Ô캯ÊýÖ»ÊÇÔÚ´´½¨¶ÔÏóʱÆðµ½½éÉÜÔÐͶÔÏóºÍ³õʼ»¯¶ÔÏóÁ½¸ö×÷Óá£
ÄÇô£¬ÎÒÃÇÄÜ·ñ×Ô¼º¶¨ÒåÒ»¸ö¶ÔÏóÀ´µ±×÷ÔÐÍ£¬²¢ÔÚÕâ¸öÔÐÍÉÏÃèÊöÀ࣬Ȼºó½«Õâ¸öÔÐÍÉèÖøøÐ´´½¨µÄ¶ÔÏ󣬽«Æäµ±×÷¶ÔÏóµÄÀàÄØ£¿ÎÒÃÇÓÖÄÜ·ñ½«Õâ¸öÔÐÍÖеÄÒ»¸ö·½·¨µ±×÷¹¹Ô캯Êý£¬È¥³õʼ»¯Ð½¨µÄ¶ÔÏóÄØ£¿ÀýÈ磬ÎÒÃǶ¨ÒåÕâÑùÒ»¸öÔÐͶÔÏó£º
{
Create: function(name, age) //Õâ¸öµ±¹¹Ô캯Êý
{
this.name = name;
this.age = age;
},
SayHello: function() //¶¨Òå·½·¨
{
alert("Hello, I'm " + this.name);
},
HowOld: function() //¶¨Òå·½·¨
{
alert(this.name + " is " + this.age + " years old.");
}
};
Õâ¸öJSONÐÎʽµÄд·¨¶àôÏóÒ»¸öC#µÄÀà°¡£¡¼ÈÓй¹Ô캯Êý£¬ÓÖÓи÷ÖÖ·½·¨¡£Èç¹û¿ÉÒÔÓÃijÖÖÐÎʽÀ´´´½¨¶ÔÏ󣬲¢½«¶ÔÏóµÄÄÚÖõÄÔÐÍÉèÖÃΪÉÏÃæÕâ¸ö“Àà”¶ÔÏ󣬲»¾ÍÏ൱ÓÚ´´½¨¸ÃÀàµÄ¶ÔÏóÁËÂð£¿
µ«Òź¶µÄÊÇ£¬ÎÒÃǼ¸ºõ²»ÄÜ·ÃÎʵ½¶ÔÏóÄÚÖõÄÔÐÍÊôÐÔ£¡¾¡¹ÜÓÐЩä¯ÀÀÆ÷¿ÉÒÔ·ÃÎʵ½¶ÔÏóµÄÄÚÖÃÔÐÍ£¬µ«ÕâÑù×öµÄ»°¾ÍÖ»ÄÜÏÞ¶¨ÁËÓû§±ØÐëʹÓÃÄÇÖÖä¯ÀÀÆ÷¡£ÕâÒ²¼¸ºõ²»¿ÉÐС£
ÄÇô£¬ÎÒÃǿɲ»¿ÉÒÔͨ¹ýÒ»¸öº¯Êý¶ÔÏ

