×÷ÕߣºÀîÕ½(leadzen)¡¡À´Ô´£º²©¿ÍÔ° ¡¡ ¿áÇÚÍøÊÕ¼¯¡¡2008-02-28

ÕªÒª
¡¡¡¡ÎªÁËÊÊÓ¦ÃæÏò¶ÔÏó±à³ÌµÄ³±Á÷£¬JavaScriptÓïÑÔÒ²ÔÚÏòÍêÈ«ÃæÏò¶ÔÏóµÄ·½Ïò·¢Õ¹£¬ÐµÄJavaScript±ê×¼ÒѾ­´ÓÓïÒåÉÏÀ©Õ¹ÁËÐí¶àÃæÏò¶ÔÏóµÄÐÂÔªËØ¡£Óë´ËÏà·´µÄÊÇ£¬Ðí¶à¾²Ì¬µÄ¶ÔÏóÓïÑÔÒ²ÔÚÏòJavaScriptµÄÄÇÖÖ¼ò½à¶øÓÄÑŵķ½Ïò·¢Õ¹¡£
Òý×Ó

    ±à³ÌÊÀ½çÀïÖ»´æÔÚÁ½ÖÖ»ù±¾ÔªËØ£¬Ò»¸öÊÇÊý¾Ý£¬Ò»¸öÊÇ´úÂë¡£±à³ÌÊÀ½ç¾ÍÊÇÔÚÊý¾ÝºÍ´úÂëǧ˿ÍòÂÆµÄ¾À²øÖгÊÏÖ³öÎÞÏÞµÄÉú»úºÍ»îÁ¦¡£

    Êý¾ÝÌìÉú¾ÍÊÇÎľ²µÄ£¬×ÜÏë±£³Ö×Ô¼º¹ÌÓеı¾É«£»¶ø´úÂëÈ´ÌìÉú»îÆÃ£¬×ÜÏë¸Ä±äÕâ¸öÊÀ½ç¡£
 
   Äã¿´£¬Êý¾Ý´úÂë¼äµÄ¹ØÏµÓëÎïÖÊÄÜÁ¿¼äµÄ¹ØÏµÓÐמªÈ˵ÄÏàËÆ¡£Êý¾ÝÒ²ÊÇÓйßÐԵģ¬Èç¹ûûÓдúÂëÀ´Ê©¼ÓÍâÁ¦£¬Ëý×ܱ£³Ö×Ô¼ºÔ­À´µÄ״̬¡£¶ø´úÂë¾ÍÏóÄÜÁ¿£¬Ëû´æÔÚµÄΨһĿµÄ£¬¾ÍÊÇҪŬÁ¦¸Ä±äÊý¾ÝÔ­À´µÄ״̬¡£ÔÚ´úÂë¸Ä±äÊý¾ÝµÄͬʱ£¬Ò²»áÒòΪÊý¾ÝµÄ¿¹¾Ü¶ø·´¹ýÀ´Ó°Ïì»ò¸Ä±ä´úÂëÔ­ÓеÄÇ÷ÊÆ¡£ÉõÖÁÔÚ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³ÌÐò£º
    var life = {};
    
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 3delete 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ÀàÐ͵ÄʵÌå¶øÒÑ¡£Çë¿´ÏÂÃæµÄ³ÌÐò£º
    function myfunc()
    {
        alert(
"hello");
    };
    
    alert(
typeof(myfunc));

    Õâ¸ö´úÂëÔËÐÐÖ®ºó¿ÉÒÔ¿´µ½typeof(myfunc)·µ»ØµÄÊÇfunction¡£ÒÔÉϵĺ¯Êýд·¨ÎÒÃdzÆÖ®Îª“¶¨Òåʽ”µÄ£¬Èç¹ûÎÒÃǽ«Æä¸Äд³ÉÏÂÃæµÄ“±äÁ¿Ê½”µÄ£¬¾Í¸üÈÝÒ×Àí½âÁË£º
    var myfunc = function ()
        {
            alert(
"hello");
        };
    
    alert(
typeof(myfunc));

    ÕâÀïÃ÷È·¶¨ÒåÁËÒ»¸ö±äÁ¿myfunc£¬ËüµÄ³õʼֵ±»¸³ÓèÁËÒ»¸öfunctionµÄʵÌå¡£Òò´Ë£¬typeof(myfunc)·µ»ØµÄÒ²ÊÇfunction¡£Æäʵ£¬ÕâÁ½ÖÖº¯ÊýµÄд·¨Êǵȼ۵쬳ýÁËÒ»µãϸ΢²î±ð£¬ÆäÄÚ²¿ÊµÏÖÍêÈ«Ïàͬ¡£Ò²¾ÍÊÇ˵£¬ÎÒÃÇдµÄÕâЩJavaScriptº¯ÊýÖ»ÊÇÒ»¸öÃüÁËÃûµÄ±äÁ¿¶øÒÑ£¬Æä±äÁ¿ÀàÐͼ´Îªfunction£¬±äÁ¿µÄÖµ¾ÍÊÇÎÒÃDZàдµÄº¯Êý´úÂëÌå¡£

    ´ÏÃ÷µÄÄã»òÐíÁ¢¼´»á½øÒ»²½µÄ×·ÎÊ£º¼ÈÈ»º¯ÊýÖ»ÊDZäÁ¿£¬ÄÇô±äÁ¿¾Í¿ÉÒÔ±»ËæÒ⸳ֵ²¢Óõ½ÈÎÒâµØ·½†ª£¿

    ÎÒÃÇÀ´¿´¿´ÏÂÃæµÄ´úÂ룺
    var myfunc = function ()
        {
            alert(
"hello");
        };
    myfunc(); 
//µÚÒ»´Îµ÷ÓÃmyfunc£¬Êä³öhello
    
    myfunc 
= function ()
        {
            alert(
"yeah");
        };    
    myfunc(); 
//µÚ¶þ´Îµ÷ÓÃmyfunc£¬½«Êä³öyeah

    Õâ¸ö³ÌÐòÔËÐеĽá¹û¸æËßÎÒÃÇ£º´ð°¸Êǿ϶¨µÄ£¡ÔÚµÚÒ»´Îµ÷Óú¯ÊýÖ®ºó£¬º¯Êý±äÁ¿ÓÖ±»¸³ÓèÁËеĺ¯Êý´úÂëÌ壬ʹµÃµÚ¶þ´Îµ÷Óøú¯Êýʱ£¬³öÏÖÁ˲»Í¬µÄÊä³ö¡£

    ºÃÁË£¬ÎÒÃÇÓÖÀ´°ÑÉÏÃæµÄ´úÂë¸Ä³ÉµÚÒ»ÖÖ¶¨ÒåʽµÄº¯ÊýÐÎʽ£º
    function myfunc ()
    {
        alert(
"hello");
    };
    myfunc(); 
//ÕâÀïµ÷ÓÃmyfunc£¬Êä³öyeah¶ø²»ÊÇhello
    
    
function myfunc ()
    {
        alert(
"yeah");
    };    
    myfunc(); 
//ÕâÀïµ÷ÓÃmyfunc£¬µ±È»Êä³öyeah

    °´Àí˵£¬Á½¸öÇ©ÃûÍêÈ«ÏàͬµÄº¯Êý£¬ÔÚÆäËû±à³ÌÓïÑÔÖÐÓ¦¸ÃÊÇ·Ç·¨µÄ¡£µ«ÔÚJavaScriptÖУ¬Õâû´í¡£²»¹ý£¬³ÌÐòÔËÐÐÖ®ºóÈ´·¢ÏÖÒ»¸öÆæ¹ÖµÄÏÖÏó£ºÁ½´Îµ÷Óö¼Ö»ÊÇ×îºóÄǸöº¯ÊýÀïÊä³öµÄÖµ£¡ÏÔÈ»µÚÒ»¸öº¯ÊýûÓÐÆðµ½ÈκÎ×÷Óá£ÕâÓÖÊÇÎªÊ²Ã´ÄØ£¿

    Ô­À´£¬JavaScriptÖ´ÐÐÒýÇæ²¢·ÇÒ»ÐÐÒ»ÐеطÖÎöºÍÖ´ÐгÌÐò£¬¶øÊÇÒ»¶ÎÒ»¶ÎµØ·ÖÎöÖ´Ðеġ£¶øÇÒ£¬ÔÚͬһ¶Î³ÌÐòµÄ·ÖÎöÖ´ÐÐÖУ¬¶¨ÒåʽµÄº¯ÊýÓï¾ä»á±»ÌáÈ¡³öÀ´ÓÅÏÈÖ´ÐС£º¯Êý¶¨ÒåÖ´ÐÐÍêÖ®ºó£¬²Å»á°´Ë³ÐòÖ´ÐÐÆäËûÓï¾ä´úÂë¡£Ò²¾ÍÊÇ˵£¬ÔÚµÚÒ»´Îµ÷ÓÃmyfunc֮ǰ£¬µÚÒ»¸öº¯ÊýÓï¾ä¶¨ÒåµÄ´úÂëÂß¼­£¬Òѱ»µÚ¶þ¸öº¯Êý¶¨ÒåÓï¾ä¸²¸ÇÁË¡£ËùÒÔ£¬Á½´Î¶¼µ÷Óö¼ÊÇÖ´ÐÐ×îºóÒ»¸öº¯ÊýÂß¼­ÁË¡£

    Èç¹û°ÑÕâ¸öJavaScript´úÂë·Ö³ÉÁ½¶Î£¬ÀýÈ罫ËüÃÇдÔÚÒ»¸öhtmlÖУ¬²¢ÓÃ<script/>±êÇ©½«Æä·Ö³ÉÕâÑùµÄÁ½¿é£º
<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³¬È»µÄ½áºÏÄÜÁ¦¡£

ÆæÃîµÄ¶ÔÏó

    ÏÈÀ´ËµËµº¯ÊýµÄ¶ÔÏó»¯ÄÜÁ¦¡£

    ÈκÎÒ»¸öº¯Êý¶¼¿ÉÒÔΪÆä¶¯Ì¬µØÌí¼Ó»òÈ¥³ýÊôÐÔ£¬ÕâЩÊôÐÔ¿ÉÒÔÊǼòµ¥ÀàÐÍ£¬¿ÉÒÔÊǶÔÏó£¬Ò²¿ÉÒÔÊÇÆäËûº¯Êý¡£Ò²¾ÍÊÇ˵£¬º¯Êý¾ßÓжÔÏóµÄÈ«²¿ÌØÕ÷£¬ÄãÍêÈ«¿ÉÒ԰Ѻ¯Êýµ±¶ÔÏóÀ´Óá£Æäʵ£¬º¯Êý¾ÍÊǶÔÏó£¬Ö»²»¹ý±ÈÒ»°ãµÄ¶ÔÏó¶àÁËÒ»¸öÀ¨ºÅ“()”²Ù×÷·û£¬Õâ¸ö²Ù×÷·ûÓÃÀ´Ö´Ðк¯ÊýµÄÂß¼­¡£¼´£¬º¯Êý±¾Éí»¹¿ÉÒÔ±»µ÷Óã¬Ò»°ã¶ÔÏóÈ´²»¿ÉÒÔ±»µ÷Ó㬳ý´ËÖ®ÍâÍêÈ«Ïàͬ¡£Çë¿´ÏÂÃæµÄ´úÂ룺
    function Sing()
    {
        
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úÉúеÄÒÉ»ó£º
    var anObject = {};  //Ò»¸ö¶ÔÏó
    anObject.aProperty = "Property of object";  //¶ÔÏóµÄÒ»¸öÊôÐÔ
    anObject.aMethod = function(){alert("Method of object")}; //¶ÔÏóµÄÒ»¸ö·½·¨
    //Ö÷Òª¿´ÏÂÃæ£º
    alert(anObject["aProperty"]);   //¿ÉÒÔ½«¶ÔÏóµ±Êý×éÒÔÊôÐÔÃû×÷ΪϱêÀ´·ÃÎÊÊôÐÔ
    anObject["aMethod"]();          //¿ÉÒÔ½«¶ÔÏóµ±Êý×éÒÔ·½·¨Ãû×÷ΪϱêÀ´µ÷Ó÷½·¨
    forvar s in anObject)           //±éÀú¶ÔÏóµÄËùÓÐÊôÐԺͷ½·¨½øÐеü´ú»¯´¦Àí
        alert(s + " is a " + typeof(anObject[s]));

    ͬÑù¶ÔÓÚfunctionÀàÐ͵ĶÔÏóÒ²ÊÇÒ»Ñù£º
    var aFunction = function() {};  //Ò»¸öº¯Êý
    aFunction.aProperty = "Property of function";  //º¯ÊýµÄÒ»¸öÊôÐÔ
    aFunction.aMethod = function(){alert("Method of function")}; //º¯ÊýµÄÒ»¸ö·½·¨
    //Ö÷Òª¿´ÏÂÃæ£º
    alert(aFunction["aProperty"]);   //¿ÉÒÔ½«º¯Êýµ±Êý×éÒÔÊôÐÔÃû×÷ΪϱêÀ´·ÃÎÊÊôÐÔ
    aFunction["aMethod"]();          //¿ÉÒÔ½«º¯Êýµ±Êý×éÒÔ·½·¨Ãû×÷ΪϱêÀ´µ÷Ó÷½·¨
    forvar 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ØÐëÊ×ÏÈ·ÅÏÂÔ­À´¶ÔÏóµÄÄǸö“×ÔÎÒ”¡£

    ÎÒÃÇÀ´¿´ÏÂÃæµÄ´úÂ룺
    function WhoAmI()       //¶¨ÒåÒ»¸öº¯ÊýWhoAmI
    {
        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£¼òµ¥µÄ·½·¨¡£ÀýÈ磬
    ´´½¨Ò»¸öûÓÐÈκÎÊôÐԵĶÔÏó£º
var o = {};

    ´´½¨Ò»¸ö¶ÔÏó²¢ÉèÖÃÊôÐÔ¼°³õʼֵ£º
var person = {name: "Angel", age: 18, married: false};

    ´´½¨Ò»¸ö¶ÔÏó²¢ÉèÖÃÊôÐԺͷ½·¨£º
var speaker = {text: "Hello World", say: function(){alert(this.text)}};

     ´´½¨Ò»¸ö¸ü¸´ÔӵĶÔÏó£¬Ç¶ÌׯäËû¶ÔÏóºÍ¶ÔÏóÊý×éµÈ£º
    var company =
    {
        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²Ù×÷·û½áºÏÒ»¸öº¯ÊýµÄÐÎʽÀ´´´½¨¶ÔÏó¡£ÀýÈ磺
    function MyFunc() {};         //¶¨ÒåÒ»¸ö¿Õº¯Êý
    var anObj = new MyFunc();  //ʹÓÃnew²Ù×÷·û£¬½èÖúMyFunº¯Êý£¬¾Í´´½¨ÁËÒ»¸ö¶ÔÏó

    JavaScriptµÄÕâÖÖ´´½¨¶ÔÏóµÄ·½Ê½¿ÉÕæÓÐÒâ˼£¬ÈçºÎÈ¥Àí½âÕâÖÖд·¨ÄØ£¿
 
   Æäʵ£¬¿ÉÒÔ°ÑÉÏÃæµÄ´úÂë¸Äд³ÉÕâÖֵȼÛÐÎʽ£º
    function MyFunc(){};
    
var anObj = {};     //´´½¨Ò»¸ö¶ÔÏó
    MyFunc.call(anObj); //½«anObj¶ÔÏó×÷ΪthisÖ¸Õëµ÷ÓÃMyFuncº¯Êý

    ÎÒÃǾͿÉÒÔÕâÑùÀí½â£¬JavaScriptÏÈÓÃnew²Ù×÷·û´´½¨ÁËÒ»¸ö¶ÔÏ󣬽ô½Óמͽ«Õâ¸ö¶ÔÏó×÷Ϊthis²ÎÊýµ÷ÓÃÁ˺óÃæµÄº¯Êý¡£Æäʵ£¬JavaScriptÄÚ²¿¾ÍÊÇÕâô×öµÄ£¬¶øÇÒÈκκ¯Êý¶¼¿ÉÒÔ±»ÕâÑùµ÷Ó㡵«´Ó “anObj = new MyFunc()” ÕâÖÖÐÎʽ£¬ÎÒÃÇÓÖ¿´µ½Ò»¸öÊìϤµÄÉíÓ°£¬C++ºÍC#²»¾ÍÊÇÕâÑù´´½¨¶ÔÏóµÄÂð£¿Ô­À´£¬ÌõÌõ´ó·ͨÁéɽ£¬Êâ;ͬ¹é°¡£¡

    ¾ý¿´µ½´Ë´¦Ò²Ðí»áÏ룬ÎÒÃÇΪʲô²»¿ÉÒÔ°ÑÕâ¸öMyFuncµ±×÷¹¹Ô캯ÊýÄØ£¿¹§Ï²Ä㣬´ð¶ÔÁË£¡JavaScriptÒ²ÊÇÕâôÏëµÄ£¡Çë¿´ÏÂÃæµÄ´úÂ룺 
 1     function Person(name)   //´ø²ÎÊýµÄ¹¹Ô캯Êý
 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¶ÔÏóʱʹÓÃÕâΨһµÄº¯Êý¶ÔÏó×÷ΪÆä·½·¨£¬¾ÍÄܹ²Ïí·½·¨Âß¼­¡£ÀýÈ磺
    function SayHello()     //Ïȶ¨ÒåÒ»·ÝSayHelloº¯Êý´úÂë
    {
        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ÌṩÁËһȺͬÀà¶ÔÏó¹²ÏíÊôÐԺͷ½·¨µÄ»úÖÆ¡£

    ÎÒÃÇÏÈÀ´¿´¿´ÏÂÃæµÄ´úÂ룺
    function Person(name)
    {
        
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µÄд·¨ÏÔµÃÓÅÑŶàÁË£¬¾¡¹Üµ÷ÓÃÐÎʽûÓб䣬µ«Âß¼­ÉÏÈ´ÌåÏÖÁË·½·¨ÓëÀàµÄ¹ØÏµ£¬Ïà¶ÔÇ°ÃæµÄд·¨£¬¸üÈÝÒ×Àí½âºÍ×éÖ¯´úÂë¡£

    ÄÇô£¬¶ÔÓÚ¶à²ã´ÎÀàÐ͵Ĺ¹Ô캯ÊýÇé¿öÓÖÈçºÎÄØ£¿

    ÎÒÃÇÔÙÀ´¿´ÏÂÃæµÄ´úÂ룺
 1     function Person(name)   //»ùÀ๹Ô캯Êý
 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Ʋú£¬ÒòΪÄÇ¿ÉÄÜ»áÓ°Ïìµ½ÆäËûº¢×ÓµÄÀûÒæ¡£´ÓÕâÒ»µãÉÏ¿´£¬Ô­ÐͶÔÏóÓÖÏóһλÑÏÀ÷µÄ¸¸Çס£ÎÒÃÇÀ´¿´¿´ÏÂÃæµÄ´úÂë¾Í¿ÉÒÔÀí½âÕâ¸öÒâ˼ÁË£º
    function Person(name)
    {
        
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)¸ÅÄı¶øºÏ¡£

    È»¶ø£¬±È¾²Ì¬¶ÔÏóÓïÑÔ¸üÉñÆæµÄÊÇ£¬ÎÒÃÇ¿ÉÒÔËæÊ±¸øÔ­ÐͶÔÏó¶¯Ì¬Ìí¼ÓеÄÊôÐԺͷ½·¨£¬´Ó¶ø¶¯Ì¬µØÀ©Õ¹»ùÀàµÄ¹¦ÄÜÌØÐÔ¡£ÕâÔÚ¾²Ì¬¶ÔÏóÓïÑÔÖÐÊǺÜÄÑÏëÏóµÄ¡£ÎÒÃÇÀ´¿´ÏÂÃæµÄ´úÂ룺
    function Person(name)
    {
        
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ÖеĴúÂ룺

String.prototype.trim = function String$trim() {
    
if (arguments.length !== 0throw Error.parameterCount();
    
return this.replace(/^\s+|\s+$/g, '');
}

    Õâ¶Î´úÂë¾ÍÊǸøÄÚÖÃStringº¯ÊýµÄprototypeÀ©Õ¹ÁËÒ»¸ötrim·½·¨£¬ÓÚÊÇËùÓеÄStringÀà¶ÔÏó¶¼ÓÐÁËtrim·½·¨ÁË¡£ÓÐÁËÕâ¸öÀ©Õ¹£¬½ñºóҪȥ³ý×Ö·û´®Á½¶ÎµÄ¿Õ°×£¬¾Í²»ÓÃÔÙ·Ö±ð´¦ÀíÁË£¬ÒòΪÈκÎ×Ö·û´®¶¼ÓÐÁËÕâ¸öÀ©Õ¹¹¦ÄÜ£¬Ö»Òªµ÷Óü´¿É£¬ÕæµÄºÜ·½±ã¡£

    µ±È»£¬¼¸ºõºÜÉÙÓÐÈËÈ¥¸øObjectµÄprototypeÌí¼Ó·½·¨£¬ÒòΪÄÇ»áÓ°Ïìµ½ËùÓеĶÔÏ󣬳ý·ÇÔÚÄãµÄ¼Ü¹¹ÖÐÕâÖÖ·½·¨µÄÈ·ÊÇËùÓжÔÏó¶¼ÐèÒªµÄ¡£

    Ç°Á½Ä꣬΢ÈíÔÚÉè¼ÆAJAXÀà¿âµÄ³õÆÚ£¬ÓÃÁËÒ»ÖÖ±»³ÆÎª“±Õ°ü”(closure)µÄ¼¼ÊõÀ´Ä£Äâ“Àà”¡£Æä´óÖÂÄ£ÐÍÈçÏ£º
    function Person(firstName, lastName, age)
    {
        
//˽ÓбäÁ¿£º
        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²ÎÊýµ÷Óù¹Ô캯Êý£¬Íê³É³ÉÔ±ÉèÖõȳõʼ»¯¹¤×÷¡£¶ÔÏó½¨Á¢Ö®ºó£¬¶ÔÏóÉϵÄÈκηÃÎʺͲÙ×÷¶¼Ö»Óë¶ÔÏó×ÔÉí¼°ÆäÔ­ÐÍÁ´ÉϵÄÄÇ´®¶ÔÏóÓйأ¬Óë¹¹Ô캯ÊýÔÙ³¶²»ÉϹØÏµÁË¡£»»¾ä»°Ëµ£¬¹¹Ô캯ÊýÖ»ÊÇÔÚ´´½¨¶ÔÏóʱÆðµ½½éÉÜÔ­ÐͶÔÏóºÍ³õʼ»¯¶ÔÏóÁ½¸ö×÷Óá£

    ÄÇô£¬ÎÒÃÇÄÜ·ñ×Ô¼º¶¨ÒåÒ»¸ö¶ÔÏóÀ´µ±×÷Ô­ÐÍ£¬²¢ÔÚÕâ¸öÔ­ÐÍÉÏÃèÊöÀ࣬Ȼºó½«Õâ¸öÔ­ÐÍÉèÖøøÐ´´½¨µÄ¶ÔÏ󣬽«Æäµ±×÷¶ÔÏóµÄÀàÄØ£¿ÎÒÃÇÓÖÄÜ·ñ½«Õâ¸öÔ­ÐÍÖеÄÒ»¸ö·½·¨µ±×÷¹¹Ô캯Êý£¬È¥³õʼ»¯Ð½¨µÄ¶ÔÏóÄØ£¿ÀýÈ磬ÎÒÃǶ¨ÒåÕâÑùÒ»¸öÔ­ÐͶÔÏó£º

    var Person =  //¶¨ÒåÒ»¸ö¶ÔÏóÀ´×÷ΪԭÐÍÀà
    {
        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ÖÖÐÎʽÀ´´´½¨¶ÔÏ󣬲¢½«¶ÔÏóµÄÄÚÖõÄÔ­ÐÍÉèÖÃΪÉÏÃæÕâ¸ö“Àà”¶ÔÏ󣬲»¾ÍÏ൱ÓÚ´´½¨¸ÃÀàµÄ¶ÔÏóÁËÂð£¿

    µ«Òź¶µÄÊÇ£¬ÎÒÃǼ¸ºõ²»ÄÜ·ÃÎʵ½¶ÔÏóÄÚÖõÄÔ­ÐÍÊôÐÔ£¡¾¡¹ÜÓÐЩä¯ÀÀÆ÷¿ÉÒÔ·ÃÎʵ½¶ÔÏóµÄÄÚÖÃÔ­ÐÍ£¬µ«ÕâÑù×öµÄ»°¾ÍÖ»ÄÜÏÞ¶¨ÁËÓû§±ØÐëʹÓÃÄÇÖÖä¯ÀÀÆ÷¡£ÕâÒ²¼¸ºõ²»¿ÉÐС£

    ÄÇô£¬ÎÒÃǿɲ»¿ÉÒÔͨ¹ýÒ»¸öº¯Êý¶ÔÏ