javascriptдÀ෽ʽ֮һ
´ÓÕâÆªÆð£¬»áÓÉdzµ½ÉîµÄ·ÖÎöjs OO֮дÀ෽ʽ£¬´ó¸Å»áÓÐ5-8ƪ¡£ºóÃæÂ½Ðø»á·ÖÎöÁ÷Ðп⣨¿ò¼Ü£©µÄдÀ෽ʽ¡£ÎªÁËÌÖÂ۵ĵ¥Ò»ÐÔ£¬Ôݲ»¿¼ÂÇÀàµÄ¼Ì³Ð£¬(˽ÓÐ,Êܱ£»¤)ÊôÐÔ»ò·½·¨¡£
EMCA262¹æ·¶ÖÐûÓÐÀà(class)µÄ¸ÅÄjsµÄnewÖ»ÊÇÈÃËû¿´ÆðÀ´¸üÏñc++,javaÒ»µã¡£ÕâÀï˵µÄдÀֻ࣬ÊÇÊéдjs´úÂë·ç¸ñ¶øÒÑ¡£
1¡¢¹¹Ô캯Êý·½Ê½
/**
* PersonÀࣺ¶¨ÒåÒ»¸öÈË£¬ÓиöÊôÐÔname£¬ºÍÒ»¸ögetName·½·¨
* @param {String} name
*/
function Person(name) {
this.name = name;
this.getName = function() {
return this.name;
}
}
ÕâÖÖ·ç¸ñÈÃÎÒÃÇÕâЩд¹ýjavaµÄÓеãÇ×ÇÐÔÚÓÚ¹¹ÔìÒ»¸ö¶ÔÏóÐèÒªÅäÖÃһЩ²ÎÊý£¬²ÎÊýÒª¸³Öµ¸øÀàÀïÃæthis¡£µ«ÓëjavaµÄÇø±ðÊÇjsÓÃfunctionÀ´¶¨ÒåÀ࣬²ÎÊýÒ²ÎÞÐ趨ÒåÀàÐÍ¡£
ÀàдºÃÁË£¬ÎÒÃÇÔ켸¸ö¶ÔÏó£º
var p1 = new Person("Jack");
var p2 = new Person("Tom");
console.log(p1 instanceof Person);//true
console.log(p2 instanceof Person);//true
¿ØÖÆÌ¨Êä³öÒ²Ö¤Ã÷ÁËp1£¬p2µÄÈ·ÊÇÀàPersonµÄ¶ÔÏóʵÀý¡£
ÕâÖÖ·½Ê½µÄÓŵãÊÇ£º¿ÉÒÔ¸ù¾Ý²ÎÊýÀ´¹¹Ô첻ͬµÄ¶ÔÏóʵÀý
£¬È±µãÊǹ¹Ôìʱÿ¸öʵÀý¶ÔÏó¶¼»áÉú³ÉgetName·½·¨°æ±¾£¬Ôì³ÉÁËÄÚ´æµÄÀË·Ñ
¡£
µ±È»¾Ñé·á¸»µÄ³ÌÐòÔ±ÓÃÒ»¸öÍⲿº¯ÊýÀ´´úÌæÀà·½·¨£¬´ïµ½ÁËÿ¸ö¶ÔÏó¹²Ïíͬһ¸ö·½·¨¡£¸ÄдºóµÄÀàÈçÏ£º
//Íⲿº¯Êý
function getName() {
return this.name;
}
function Person(name) {
this.name = name;
this.getName = getName;//×¢ÒâÕâÀï
}
ºÇºÇ£¬ÓÐÈË¿ÉÄܾõµÃ´úÂë·ç¸ñÓеã²îÇ¿ÈËÒ⣬Ôõô¿´Ò²Ã»ÓÐjavaÄÇô½ô´Õ¡£µ«µÄÈ·¿ÉÒÔ¼õÉÙÄÚ´æµÄÏûºÄ¡£
Ïà¹ØÎĵµ£º
×÷ÓÃÓò Scope
Javascript Öеĺ¯ÊýÊôÓÚ´Ê·¨×÷ÓÃÓò£¬Ò²¾ÍÊÇ˵º¯ÊýÔÚËü±»¶¨ÒåʱµÄ×÷ÓÃÓòÖÐÔËÐжø²»ÊÇÔÚ±»Ö´ÐÐʱµÄ×÷ÓÃÓòÄÚÔËÐС£ÕâÊÇϬţÊéÉϵÄ˵·¨¡£µ«“¶¨Òåʱ”ºÍ“Ö´ÐУ¨±»µ÷Óã©Ê±”ÕâÁ½¸ö¶«Î÷ÓÐЩÈ˸㲻Çå³þ¡£¼òµ¥À´Ëµ£¬Ò»¸öº¯ÊýAÔÚ“¶¨Òåʱ”¾ÍÊÇ function A(){} Õâ¸öÓï¾äÖ´ÐеÄʱºò¾Í ......
ÀàÊÇʲô£¿
Ðí¶à¸Õ½Ó´¥±à³ÌµÄÅóÓѶ¼¿ÉÄÜÀí½â²»ÁËÀ࣬ÆäʵÀàÊǶÔÎÒÃÇÕâ¸öÏÖʵÊÀ½çµÄÄ£Ä⣬°ÑËü˵³É“Àà±ð”»òÕß“ÀàÐÍ”¿ÉÄÜ»á¸üÈÝÒ×Àí½âһЩ¡£±ÈÈç“ÈË”ÕâÖÖ¶¯
Îï¾ÍÊÇÒ»¸öÀ࣬¶ø¾ßÌåijһ¸öÈ˾ÍÊÇ“ÈË”Õâ¸öÀàµÄÒ»¸öʵÀý
£¬
“È ......
×Ô¶¨ÒåÒ»¸ölogº¯Êý,Êä³ö´«È뺯ÊýµÄ¶ÔÏó»òÕßÐÅÏ¢.
Log.js
// JScript source code
function
log(category, message, object) {
// If this category is explicitly disabled, do nothing
if
(log.options[category + "Disabled
"]) return
;
// Find the container
var
id = categ ......