jsÖÐʲôÊÇÔÐ͹¤¾ß
ÔÐ͹¤¾ßÔÚ javascript ÖÐÿ¸ö¹¤¾ß¶¼¹ØÁªÒ»¸ö°üÀ¨¿É±»×Ó¹¤¾ß¼ÌÐøµÄÊôÐÔºÍÒªÁìµÄÔÐ͹¤¾ß£¬Ôö½øÊôÐÔºÍÒªÁì¼ÌÐø¡¢´úÂ븴ÓúÍÎÞаÐ޸ġ£
ʲôÊÇÔÐ͹¤¾ß
ÔÚ JavaScript ÖУ¬Ã¿¸ö¹¤¾ß¶¼ÓëÒ»¸öÔÐ͹¤¾ß¹ØÁª¡£ÔÐ͹¤¾ßÊÇÒ»¸öÌØÊ⹤¾ß£¬Ëü°üÀ¨ÁËÒ»×é¿ÉÒÔ±»ÑÜÉú¹¤¾ß£¨Ò²±»³ÆΪ×Ó¹¤¾ß£©¼ÌÐøµÄÊôÐÔºÍÒªÁì¡£
ÔÐ͹¤¾ßµÄ×÷ÓÃ
¼ÌÐøÊôÐÔºÍÒªÁ죺×Ó¹¤¾ß¿ÉÒÔ¼ÌÐøÔÐ͹¤¾ßÖеÄÊôÐÔºÍÒªÁ죬¾ÍÏñËüÃÇÊÇ×Ô¼ºµÄÒ»Ñù¡£
´úÂ븴ÓãºÔÐ͹¤¾ßÔÊÐíÔÚ¶à¸ö×Ó¹¤¾ßÖ®¼ä¹²Ïí´úÂ룬´Ó¶øïÔÌÈßÓàºÍ´úÂëά»¤ÊÂÇé¡£
ÎÞаÐÔ£ºÍ¨¹ýÐÞ¸ÄÔÐ͹¤¾ß£¬¿ÉÒÔ¶¯Ì¬µØ¸ü¸ÄËùÓйØÁª×Ó¹¤¾ßµÄÐÐΪ¡£
»á¼ûÔÐ͹¤¾ß
¿ÉÒÔͨ¹ý __proto__ ÊôÐÔ»á¼ûÒ»¸ö¹¤¾ßµÄÔÐ͹¤¾ß£º
const obj = { name: "John" }; console.log(obj.__proto__); // Object {}
µÇ¼ºó¸´ÖÆ
½¨ÉèÔÐ͹¤¾ß
¿ÉÒÔʹÓà Object.create() ÒªÁ콨ÉèÔÐ͹¤¾ß£º
const proto = { greet() { console.log(`Hello, ${this.name}!`); }, }; const obj = Object.create(proto); obj.name = "Jane"; obj.greet(); // Êä³ö£ºHello, Jane!
µÇ¼ºó¸´ÖÆ
ÐÞ¸ÄÔÐ͹¤¾ß
¿ÉÒÔËæʱÐÞ¸ÄÔÐ͹¤¾ß£¬¶Ô×Ó¹¤¾ßµÄÓ°Ï콫×Ô¶¯·´Ó¦³öÀ´£º
proto.lastName = "Doe"; obj.greet(); // Êä³ö£ºHello, Jane Doe!
µÇ¼ºó¸´ÖÆ
ÔÐÍÁ´
ÔÚ JavaScript ÖУ¬¹¤¾ß¿ÉÒÔÐγÉÔÐÍÁ´¡£µ±Ò»¸ö¹¤¾ßÕÒ²»µ½Ò»¸öÊôÐÔ»òÒªÁìʱ£¬Ëü»áÑØ×ÅÔÐÍÁ´ÏòÉϲéÕÒ£¬Ö±µ½ÕÒµ½Ëü»òµÖ´ï¸ùÔÐ͹¤¾ß£¨Object.prototype£©¡£
ÒÔÉϾÍÊÇjsÖÐʲôÊÇÔÐ͹¤¾ßµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡