JavaScript¾«´â¶ÁÊé±Ê¼Ç(5)
http://blog.csdn.net/mouyong/archive/2010/01/10/5169396.aspx
µÚ5Õ ¼Ì³Ð
ÔÚÄÇЩ»ùÓÚÀàµÄÓïÑÔ£¨±ÈÈçJava£©ÖУ¬¼Ì³Ð£¨inheritance»òextends£©ÌṩÁËÁ½¸öÓÐÓõķþÎñ¡£Ê×ÏÈ£¬ËüÊÇ´úÂëÖØÓõÄÒ»ÖÖÐÎʽ¡£Èç¹ûÒ»¸öеÄÀàÓëÒ»¸öÒÑ´æÔÚµÄÀà´ó²¿·ÖÏàËÆ£¬ÄÇôÄãÖ»Ðë¾ßÌå˵Ã÷Æä²»Í¬µã¼´¿É¡£Àà¼Ì³ÐµÄÁíÒ»¸öºÃ´¦ÊÇËü°üÀ¨ÁËÒ»Ì×ÀàÐÍϵͳµÄ¹æ·¶¡£ÓÉÓÚ³ÌÐòÔ±ÎÞÐë±àдÏÔʽÀàÐÍת»»µÄ´úÂ룬ËûÃǵŤ×÷Á¿½«´ó´ó¼õÇᣬÕâÊÇÒ»¼þºÜºÃµÄÊÂÇ飬ÒòΪÀàÐÍת»»Ê±»á¶ªÊ§ÀàÐÍϵͳÔÚ°²È«Éϵĺô¦¡£
JavaScriptÊÇÒ»ÃÅÈõÀàÐÍÓïÑÔ£¬´Ó²»ÐèÒªÀàÐÍת»»¡£¶ÔÏóµÄÆðÔ´ÊÇÎ޹ؽôÒªµÄ¡£¶ÔÓÚÒ»¸ö¶ÔÏóÀ´ËµÖØÒªµÄÊÇËüÄÜ×öʲô£¬¶ø²»ÊÇËü´ÓÄÄÀïÀ´¡£
JavaScriptÌṩÁËÒ»Ì׸üΪ·á¸»µÄ´úÂëÖØÓÃģʽ¡£Ëü¿ÉÒÔÄ£ÄâÄÇЩ»ùÓÚÀàµÄģʽ£¬Í¬Ê±ËüÒ²¿ÉÒÔÖ§³ÖÆäËû¸ü¾ß±íÏÖÁ¦µÄģʽ¡£ÔÚJavaScriptÖпÉÄܵļ̳ÐģʽÓкܶࡣÔÚ±¾ÕÂÖУ¬ÎÒÃǽ«Ñо¿¼¸ÖÖ×îΪֱ½ÓµÄģʽ¡£µ±È»»¹Óиü¶à¸üΪ¸´ÔӵĽṹ£¬µ«±£³ÖËüµÄ¼òµ¥Í¨³£ÊÇ×îºÃµÄ¡£
ÔÚ»ùÓÚÀàµÄÓïÑÔÖУ¬¶ÔÏó ÊÇÀàʵÀý£¬²¢ÇÒÀà¿ÉÒÔ´ÓÁíÒ»¸öÀà¼Ì³Ð¡£JavaScriptÊÇÒ»ÃÅ»ùÓÚÔÐ͵ÄÓïÑÔ£¬ÕâÒâζ×ŶÔÏóÖ±½Ó´ÓÆäËû¶ÔÏó¼Ì³Ð¡£
5.1 αÀà
µ±Ò»¸öº¯Êý¶ÔÏó±»´´½¨Ê±£¬Function¹¹ÔìÆ÷²úÉúµÄº¯Êý¶ÔÏó»áÔËÐÐÀàËÆÕâÑùµÄһЩ´úÂ룺
this.prototype={constructor:this};
к¯Êý¶ÔÏ󱻸³ÓèÒ»¸öprototypeÊôÐÔ£¬ÆäÖµÊǰüº¬Ò»¸öconstructorÊôÐÔÇÒÊôÐÔֵΪ¸Ãк¯Êý¶ÔÏ󡣸Ãprototype¶ÔÏóÊÇ´æ·Å¼Ì³ÐÌØÕ÷µÄµØ·½¡£ÒòΪJavaScriptÓïÑÔûÓÐÌṩһÖÖ·½·¨È¥È·¶¨Äĸöº¯ÊýÊÇ´òËãÓÃÀ´×÷¹¹ÔìÆ÷µÄ£¬ËùÒÔÿ¸öº¯Êý¶¼»áµÃµ½Ò»¸öprototype¶ÔÏó¡£constructorÊôÐÔûʲôÓá£ÖØÒªµÄÊÇprototype¶ÔÏó¡£
µ±²ÉÓù¹ÔìÆ÷µ÷ÓÃģʽ£¬¼´Ê¹ÓÃnewǰ׺ȥµ÷ÓÃÒ»¸öº¯Êýʱ£¬Õ⽫Ð޸ĺ¯ÊýÖ´Ðеķ½Ê½¡£Èç¹ûnewÔËËã·ûÊÇÒ»¸ö·½·¨¶ø²»ÊÇÒ»¸öÔËËã·û£¬Ëü¿ÉÄÜ»áÏñÕâÑùÖ´ÐУº
Function.method(‘new’,function(){
//´´½¨Ò»¸öжÔÏó£¬Ëü¼Ì³Ð×Ô¹¹ÔìÆ÷º¯ÊýµÄÔÐͶÔÏó¡£
var that=Object.beget(this.prototype);
//µ÷Óù¹ÔìÆ÷º¯Êý£¬°ó¶¨thisµ½Ð¶ÔÏóÉÏ¡£
var other = this.apply(that,arguments);
//Èç¹ûËüµÄ·µ»ØÖµ²»ÊÇÒ»¸ö¶ÔÏ󣬾ͷµ»Ø¸ÃжÔÏó
&nbs
Ïà¹ØÎĵµ£º
ÕâÖ÷ÒªÓÃÓÚÑ¡ÔñÆ÷¹ýÂËÖØ¸´ÔªËØÊ±Óõġ£
Éæ¼°ÈýÖÖ¿ÉÄܵÄÊֶΣºsourceIndex£¬uniqueIDÓë×Ô¶¨ÒåµÄuuid¡£
sourceIndex »ñÈ¡ÔªËØ½ÚµãÔÚÒ³ÃæµÄ³öÏÖ˳Ðò£¬¼´ÎªÆäÔÚdocument.all¼¯ºÏÖеÄË÷ÒýºÅ¡£ÓÉÓÚҪ׼ȷ»ñÈ¡ÏȺóλÖã¬Èç¹ûÔÚÆäÇ°Ãæ²åÈëÒ»¸öÔªËØ½Úµã£¬ÄÇôËüµÄλÖþÍÒª¼ÓÒ»¡£»»ÑÔÖ®£¬ËüÊǶ¯Ì¬·ÖÅäµÄ£¬Ã¿´Î¶¼ÒªÖظ´¼ÆËã¡£×¢Ò⣬I ......
µÚ6ÕÂ
Êý×é
Êý×éÊÇÒ»¶ÎÏßÐÔ·ÖÅäµÄÄڴ棬Ëüͨ
¹ýÕûÊýÈ¥¼ÆËãÆ«ÒÆ²¢·ÃÎÊÆäÖеÄÔªËØ¡£Êý×é¿ÉÒÔÊǺܿìµÄÊý¾Ý½á¹¹¡£²»ÐÒµÄÊÇ£¬
JavaScript
µÄÊý×é²»ÊÇÕâÑùµÄ¡£ËüÌṩÁËÒ»ÖÖÓµÓÐÀàËÆÊý×éÌØÐԵĶÔÏó¡£Ëü°ÑÊý×éµÄϱêת±ä³É×Ö·û´®£¬ÓÃÆä×÷ΪÊô
ÐÔ¡£ËüÃ÷ÏԵرÈÒ»¸öÕæÕýµÄÊý×éÂý£¬µ«Ëü¿ÉÒÔ¸ü·½±ãµØÊ¹Óá£ÊôÐԵļìË÷ºÍ¸ü ......
µÚ7ÕÂ
ÕýÔò±í´ïʽ
JavaScript
µÄÐí¶àÌØÐÔ¶¼½è
¼ø×ÔÆäËûÓïÑÔ¡£Óï·¨½è¼ø×Ô
Java
£¬º¯Êý½è¼ø×Ô
Scheme
£¬ÔÐÍ¼Ì³Ð½è¼ø×Ô
Self
¡£¶ø
JavaScript
µÄÕýÔò±í´ïÊ½ÌØÐÔÔò½è¼ø×Ô
Perl
¡£
ÕýÔò±í´ïʽÆðÔ´ÓÚ¶ÔÐÎʽÓïÑÔµÄÊý
ѧÑо¿¡£
ÔÚ
JavaScript
ÖУ¬ÕýÔò±í´ïʽµÄÓï·¨ÊǶÔ
Perl
°æµÄ¸Ä½øºÍ·¢Õ¹£¬Ëü·Ç³£ ......
µÚ8ÕÂ
·½·¨
JavaScript
°üº¬ÁËÉÙÁ¿¿ÉÓÃ
ÔÚ±ê×¼ÀàÐÍÉϵıê×¼·½·¨¡£
Array
array.concat(item…)
concat
·½·¨·µ»ØÒ»¸öÐÂÊý×飬Ëü
°üº¬
array
µÄdz¸´ÖÆ
(shallow copy)
²¢½«
1
¸ö»ò¶à¸ö²ÎÊý
item
¸½¼ÓÔÚÆäºó¡£Èç¹û²ÎÊý
item
ÊÇÒ»¸öÊý×飬ÄÇôËüµÄÿ¸öÔªËØ»á±»·Ö±ðÌí¼Ó¡£´ËÍ⣬Çë²Î¼û±¾Õºóà ......
http://blog.csdn.net/mouyong/archive/2009/11/21/4847303.aspx
µÚ3ÕÂ ¶ÔÏó
JavaScriptµÄ¼òµ¥ÀàÐͰüÀ¨Êý×Ö¡¢×Ö·û´®¡¢²¼¶ûÖµ£¨trueºÍfalse£©¡¢nullÖµºÍundefinedÖµ¡£ÆäËûËùÓеÄÖµ¶¼ÊǶÔÏó¡£Êý×Ö¡¢×Ö·û´®ºÍ²¼¶ûÖµ“Ã²ËÆ”¶ÔÏó£¬ÒòΪËüÃÇÓµÓз½·¨£¬µ«ËüÃÇÊDz»¿É±äµÄ¡£JavaScriptÖеĶÔÏóÊǿɱäµÄ¼ü-Öµ ......