¡¶Îò͸javascript¡·Ñ§Ï°±Ê¼Ç£º¾Å¡¢ÔÐͱ϶
ÒýÑÔ
prototypeÔ´×Ô·¨ÓÈí¼þ½çµÄ±ê×¼·ÒëΪ“ÔÐÍ”£¬´ú±íÊÂÎïµÄ³õʼÐÎ̬£¬Ò²º¬ÓÐÄ£ÐͺÍÑù°åµÄÒâÒå¡£
prototypeÊôÐÔ
JavaScriptµÄËùÓÐfunctionÀàÐ͵ĶÔÏó¶¼ÓÐÒ»¸öprototypeÊôÐÔ¡£Õâ¸öprototypeÊôÐÔ±¾ÉíÓÖÊÇÒ»¸ö object ÀàÐ͵ĶÔÏó£¬Òò´ËÎÒÃÇÒ²¿ÉÒÔ¸øÕâ¸ö prototype ¶ÔÏóÌí¼ÓÈÎÒâµÄÊôÐԺͷ½·¨¡£¼ÈÈ» prototypeÊǶÔÏóµÄ“ÔÐÍ”£¬ÄÇôÓɸú¯Êý¹¹Ôì³öÀ´µÄ¶ÔÏóÓ¦¸Ã¶¼»á¾ßÓÐÕâ¸ö“ÔÐÍ”µÄÌØÐÔ¡£ÊÂʵÉÏ£¬ÔÚ¹¹Ô캯ÊýµÄprototypeÉ϶¨ÒåµÄËùÓÐÊôÐԺͷ½·¨£¬¶¼ÊÇ¿ÉÒÔͨ¹ýÆä¹¹ÔìµÄ¶ÔÏóÖ±½Ó·ÃÎʺ͵÷Óõġ£Ò²¿ÉÒÔÕâô˵£¬prototypeÌṩÁËһȺͬÀà¶ÔÏó¹²ÏíÊôÐԺͷ½·¨µÄ»úÖÆ¡£ÔËÐÐÈçÏ´úÂ룬Ȼºó¹Û²ì¡£
<script language="javascript">
function person(name){ //¹¹Ô캯Êýperson
this.name = name;
//this´´½¨³öµÄ¶ÔÏó£¬Ã¿Ò»¸ö¸±±¾¶¼»á°üº¬ÆäÊôÐԺͺ¯Êý
this.say = function(){alert("hello, i'm " + this.name);}
}
//prototype´´½¨µÄº¯Êý¶ÔÏó£¬ËùÓеĸ±±¾¹²Ïíͬһ¸öº¯Êý
person.prototype.show = function(){alert("hi~~, i'm " + this.name);}
var p1 = new person("p1");
var p2 = new person("p2");
alert(p1.say == p2.say); //false£¬Ã»¹²Ïíº¯Êý
alert(p1.show == p2.show); //true£¬¹²Ïíº¯Êý
</script>
ÔÐÍÁ´
<script language="javascript">
function person(name){
this.name = name;
}
person.prototype.say = function(){alert("hello, i'm " + this.name);}
function employee(name, salary){
//µ÷ÓÃperson×÷ΪemployeeµÄ¹¹Ô캯Êý——ÖØµã
person.call(this, name); //Ä¿µÄÊǼ̳ÐpersonµÄÊôÐÔ
this.salary = salary;
}
//×ÓÀ๹Ô캯ÊýÊ×ÏÈÐèÒªÓÃÉϲ㹹Ô캯ÊýÀ´½¨Á¢ prototype¶ÔÏó£¬ÊµÏּ̳еĸÅÄî——ÖØµã
employee.prototype = new person(); //Ä¿µÄÊǼ̳ÐpersonµÄ·½·¨£¬Ö»ÐèÒªÆä prototype µÄ·½·¨£¬´Ë¶ÔÏóµÄ³ÉԱûÓÐÈκÎÒâÒ壡
employee.prototype.showMoney = function(){alert(this.name + "'s salary is " + this.salary);}
var bill = new pers
Ïà¹ØÎĵµ£º
ÔÚJavascriptÖÐûÓÐclassÀ࣬µ«ÊÇͬÑùÒ²¿ÉÒÔ½øÐжÔÏóµÄ´´½¨¡£ÔÚÃæÏò¶ÔÏóµÄÓïÑÔÖÐÐèҪʵÀý»¯Ä³¸ö¾ßÌåÀàµÄʵÀý£¬ÔÚJavascriptÖÐÔò²»Óá£
ÔÚJavascriptÀ¶ÔÏñ¿ÉÒÔ´´½¨ÐµĶÔÏó£¬Ò²¿ÉÒԼ̳Ð×ÔÆäËû¶ÔÏó¡£Õâ¸ö¸ÅÄî³ÆÎªÔÐÍ»¯¼Ì³Ð(prototypal inheritance)¡£
Èκκ¯ÊýÔÚJavascript Öж¼¿ÉÒÔ±»ÊµÀý»¯Ò»¸ö¶ÔÏó¡£
³ÌÐòÈçÏ£º
// ......
ÒýÑÔ
JavaScriptûÓÐ “Àà”µÄ¸ÅÄÕâÈúܶàѧϰ¹ý¸ß¼¶ÓïÑÔµÄÈ˸е½ºÜ²»Ë¬£¬Æäʵ±ÈÖ®ÓÚCÓïÑÔÓÖÈçºÎÄØ£¿ÏÔÈ»JavaScriptÒª±ÈCÓïÑÔºÃÓúܶࡣ
²»·Ï»°£¬ÉÏ´úÂë
<script language="javascript">
/*Ò»¾ä¾äµÄ¿´¸üÈÝÒ×Ã÷°×*/
//ÉùÃ÷Ò»¸ö¶ÔÏ󣬵«Ëüʲô¶¼Ã»ÓÐ
var life = {};
//ÈÎ ......
ÒýÑÔ
ÔÙÀ´¿´¿´functionÓëobjectµÄ³¬È»½áºÏ°É¡£
ÔÚÃæÏò¶ÔÏóµÄ±à³ÌÊÀ½çÀÊý¾ÝÓë´úÂëµÄÓлú½áºÏ¾Í¹¹³ÉÁ˶ÔÏóµÄ¸ÅÄî¡£×Ô´ÓÓÐÁ˶ÔÏ󣬱à³ÌÊÀ½ç¾Í±»»®·Ö³ÉÁ½²¿·Ö£¬Ò»¸öÊǶÔÏóÄÚµÄÊÀ½ç£¬Ò»¸öÊǶÔÏóÍâµÄÊÀ½ç¡£¶ÔÏóÌìÉú¾ßÓÐ×Ô˽µÄÒ»Ãæ£¬ÍâÃæµÄÊÀ½çδ¾ÔÊÐíÊDz»¿É·ÃÎʶÔÏóÄÚ²¿µÄ¡£¶ÔÏóÒ²Óдó ......
ÒýÑÔ
³ýJSONÍ⣬ÔÚJavaScriptÖÐÎÒÃÇ¿ÉÒÔʹÓÃnew²Ù×÷·û½áºÏÒ»¸öº¯ÊýµÄÐÎʽÀ´´´½¨¶ÔÏó¡£ÀýÈ磺
function MyFunc() {}; //¶¨ÒåÒ»¸ö¿Õº¯Êý
var anObj = new MyFunc(); //ʹÓà new ²Ù×÷·û£¬½èÖú MyFun º¯Êý£¬¾Í´´½¨Á ......