Javascript ÔÐͺͼ̳Ð(Prototypes and Inheritance)
Javascript ÔÐͺͼ̳Ð(Prototypes and Inheritance) ÊÕ²Ø
Ç°ÃæÎÒÃÇ¿´µ½ÁËÈçºÎʹÓà constructor À´³õʼ»¯¶ÔÏó¡£Èç¹ûÕâÑù×ö£¬ÄÇôÿһ¸ö´´½¨µÄжÔÏó¶¼»á¶ÔÄÇЩÏàͬµÄÊôÐÔ£¬·½·¨½¨Á¢Ò»¸ö¶ÀÁ¢µÄ¸±±¾¡£¶øÊµ¼ÊÉÏÓиü¼ÓÓÐЧµÄ·½·¨À´Ö¸¶¨·½·¨£¬³£Á¿£¬ÒÔ¼°ÆäËûһЩ¿É±»ËùÓиÃÀàµÄ¶ÔÏó¹²ÏíµÄÊôÐÔ¡£
JavaScript ¶ÔÏó´ÓÒ»¸öÔÐζÔÏó(prototype object) ¼Ì³ÐÊôÐÔ¡£ËùÓжÔÏó¶¼ÓÐÔÐÍ£»ÔÐ͵ÄËùÓÐÊôÐÔ¿´ÉÏÈ¥¾ÍÏñʹÓÃËü×÷ΪÔÐ͵ÄÄÇЩ¶ÔÏóµÄÊôÐÔÒ»Ñù¡£¼òµ¥µÄ˵¾ÍÊÇ£ºËùÓжÔÏó¶¼´ÓËûµÄÔÐͼ̳ÐÊôÐÔ¡£
(each object inherits properties from its prototype).
¶ÔÏóµÄ prototype ͨ¹ýËüµÄ constructor function À´¶¨Òå¡£JavaScript ÀïËùÓÐµÄ function ¶¼ÓÐÒ»¸ö prototype ÊôÐÔ¡£Õâ¸öÊôÐÔ¿ªÊ¼Êǿյ쬽ÓÏÂÀ´Äã¸øËûÌí¼ÓµÄÈκÎÊôÐÔ¶¼»á±» constructor ´´½¨µÄ¶ÔÏóËùÓµÓС£
prototype ¶ÔÏóºÍ constructor Ïà¹ØÁª¡£ÕâÒâζ×Å prototype ¿ÉÒÔ×÷Ϊ·ÅÖ÷½·¨ÒÔ¼°ÆäËû³£Á¿µÄÀíÏ볡Ëù¡£ÔÐÍÖеÄÊôÐÔ²»»á±»¸´ÖƵ½Ð´´½¨µÄ¶ÔÏóÖÐÈ¥£¬ËûÃǵÄÊôÐÔ¿´ÉÏÈ¥¾ÍÏñ¶ÔÏóµÄÊôÐÔÒ»Ñù¡£ÕâÒâζ×Å£¬Ê¹ÓÃÔÐÍÄܹ»´ó·ù¶ÈµÄ¼õÉÙ¶à¸öͬÀà¶ÔÏóÕ¼ÓõÄÄÚ´æ¡£
ÿһ¸ö class ¶¼Ö»ÓÐÒ»¸ö prototype object, ¸½´øÒ»Ì×ÊôÐÔ¡£µ«ÎÒÃÇÔÚÔËÐÐʱ¿ÉÄܻᴴ½¨¶à¸öÀàµÄʵÀý¡£ÄÇôÈç¹û·¢Éú¶ÔÔÐ͵ÄÊôÐԵĶÁд»á·¢ÉúʲôÇé¿ö£¿
µ±Äã¶ÁÒ»¸öÊôÐÔµÄʱºò£¬JavaScript Ê×Ïȳ¢ÊÔÈ¥²éÕÒ¶ÔÏó±¾ÉíÊÇ·ñÓÐÕâ¸öÊôÐÔ£¬Èç¹ûûÓУ¬½Ó×ÅÈ¥²éÕÒÔÐÍÀïÃæÊÇ·ñÓС£Óеϰ¾Í·µ»Ø½á¹û¡£
¶øµ±ÄãдÔÐ͵ÄÊôÐÔµÄʱºò£¬ÒòΪ¶à¸ö¶ÔÏó¹²ÏíÔÐÍ£¬ÏÔÈ»ÊDz»ÄÜÖ±½ÓÔÚÔÐÍÉϽøÐÐд²Ù×÷µÄ¡£Õâ¸öʱºòʵ¼ÊÉÏ JavaScript »áÔÚ¶ÔÏóÉÏ´´½¨Ò»¸öͬÃûµÄÊôÐÔ£¬È»ºó°Ñֵдµ½ÀïÃæ¡£µ±ÄãÏ´ζÁÕâ¸öÊôÐÔµÄʱºò£¬JavaScript Ò»ÏÂ×Ó¾ÍÔÚ¶ÔÏóµÄÊôÐÔÀï²éÕÒµ½ÁË£¬ÄÇô¾Í²»ÐèҪȥÔÐÍÀï²éÕÒÁË¡£Õâ¸öʱºò£¬ÎÒÃÇ˵“¶ÔÏóµÄÊôÐÔÑڸǻòÒþ²ØÁËÔÐ͵ÄÊôÐÔ”¡£(shadows or hides) ¡£
´ÓÉÏÃæÌÖÂÛ¿´³ö£¬ÆäʵÎÒÃÇÔÚÉè¼ÆÀàµÄʱºò£¬Ö»ÒªÕÆÎÕÒ»¸öÔÔò£ºÔÚÔÐÍÀï½ö¶¨ÒåһЩ·½·¨£¨·½·¨Ò»°ãÊDz»»á±äµÄ£©£¬³£Êý£¬³£Á¿µÈ¡£×öµ½ÕâÒ»µã¾Í²»ÈÝÒ×»ìÏýÁË¡£
Àý×Ó£º
// Define a constructor method for our class.
// Use it to initialize properties that will be different for
// each individual Circle object.
functionCircle(x, y, r)
{
this.x = x; // The X-coordinate of the center of the circle
this.y =
Ïà¹ØÎĵµ£º
½ñÌìÔÚ×öJAVASCRIPTµÄʱºò,·¢ÏÖÀÏÊdzöÏ֔δ½áÊøµÄ×Ö·û´®³£Á¿”.
×Ô¼ºÕÒÁËÏÂÓ¦¸ÃÊÇ´«²ÎÊýµÄʱºò,ÓÐÌØÊâ×Ö·ûÒýÆðµÄ.ÍøÉÏÒ²ÕÒÁËÏÂ,Ò²Óкöà³öÏÖÕâÖÖÇé¿ö.×öÏÂ×ܽá,ÒÔ·½±ãÒÔºó²éÔÄ.
1.JAVASCRIPTÒýÓÃʱ,ʹÓõÄ×Ö·ûÓïÑÔ²»Ò»ÖÂ.
±ÈÈç:<script type=”text/javascript” src=”xxx.js” char ......
1.Date
ÊôÐÔ(1):
constructor Ëù½¨Á¢¶ÔÏóµÄº¯Êý²Î¿¼
prototype Äܹ»Îª¶ÔÏó¼ÓÈëµÄÊôÐԺͷ½·¨
·½·¨(43):
getDay() ·µ»ØÒ»ÖÜÖеĵڼ¸Ìì(0-6)
getYear() ·µ»ØÄ ......
ÓÃJavascriptʵÏÖ¸ù¾ÝÏÂÀÁбícategoryµÄÑ¡Ôñ½á¹û£¬¸Ä±äÏÂÀÁбísub_categoryµÄÑ¡Ïî
<mce:script language="javascript" type="text/javascript">
<!--
function changeSubCategory() {
var sel_category = document.getElementById("category");
var sel_sub_category = document.getElementById("sub_c ......
1. window ¶ÔÏóÊÇÕû¸ö BOM µÄºËÐÄ,ËùÓжÔÏóºÍ¼¯ºÏ¶¼ÒÔijÖÖ·½Ê½»Ø½Óµ½ window ¶ÔÏó.
window ¶ÔÏó±íʾÕû¸öä¯ÀÀÆ÷´°¿Ú,µ«²»±íʾÆäÖаüº¬µÄÄÚÈÝ.
2. ¿ª·¢Õß¿ÉÒÔʹÓà window ¶ÔÏóÒÆ¶¯ºÍµ÷Õûä¯ÀÀÆ÷´°¿ÚµÄ±íÏÖÐÎʽ.
window.moveBy(dx,dy); //Ïà¶Ôµ±Ç°Î»ÖÃ,Ë®Æ½ÒÆ¶ ......
<script>
///Óû§Êý¾Ý½á¹¹
function _tagUser()
{
this.UserId = 0; //0-4
this.UserName = ""; //5-
this.Parse = function(VarTypeUser)
{
for (var i=0;i<VarTypeUser.length;i++)
VarTypeUser[i] = String.fro ......