Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓƵ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
¾Ù¸öÀõ×ÓѧϰJavaScriptÉè¼Æģʽ
 
À´Ô´£ºwww.cnblogs.com ·¢²¼ÓÚ£º2017-1-5
  2905  次浏览      19
 

Ç°ÑÔ

ΪʲôҪѧϰÉè¼Æģʽ£¿

½âñîºÏ¡¢½â¾ö¸´Óá¢Ìá¸ß¹Û²ì¸ß¶È

´´½¨ÐÍģʽ

1¡¢µ¥Àýģʽ

³¡¾°£ºµã»÷Ò³ÃæÒ»¸ö°´Å¥£¬µ¯³öÕÚÕֲ㡣

Óöµ½Õâ¸öÎÊÌ⣬Ê×ÏÈÎÒÃÇÏëµ½ÓÃÒ»¸ö·½·¨´´½¨Ò»¸ödiv£¬È»ºóappendµ½bodyÉÏ£¬ÊµÏÖµã»÷ʼþ£¬´úÂëÈçÏ£º

function createTip(){
2 var div = document.createElement("div");
3 return document.body.appendChild(div);
4 }
5 $('#user').click( function(){
6 var tip = createTip();
7 $(tip).show();
8 });

ËäÈ»¹¦ÄÜʵÏÖÁË£¬µ«ÊÇÕâÖÖ·½·¨ÓÐÒ»¸ö´óÎÊÌ⣺·´¸´´´½¨Dom£¡

ËùÒÔÎÒÃÇÐèÒª¶ÔËü½øÐиÄÔ죬¸ÄÔìÍê³ÉÖ®ºó£¬´úÂëÈçÏ£º


1 var tipEl = document.createElement("div");
2 tipEl.style.display = "none";
3 document.body.appendChild(tipEl);
4 function showTip(){
5 tipEl.style.display = "";
6 }
7 $('#user').click( function(){
8 showTip();
9 });

ËäÈ»±ÜÃâÁËÉÏÃæ·½·¨Öظ´´´½¨domµÄȱµã£¬µ«ÊÇÕâôʵÏÖ»¹ÊÇÓкܴóµÄ±×¶Ë£º1¡¢±©Â¶È«¾Ö±äÁ¿tipEl£¬ÓÈÆäÊÇÔÚ×ö×é¼þ»¯¿ª·¢µÄʱºòÒª¾¡¿ÉÄܲ»Òª±©Â¶È«¾Ö±äÁ¿£¬·ñÔòÈÝÒ×ÒýÆðÈ«¾Ö±äÁ¿ÎÛȾºÍ³åÍ»£»2¡¢´´½¨Íê³ÉÖ®ºóÓû§¿ÉÄܲ»È¥µã»÷£¬µ¼ÖÂdomÀË·Ñ¡£

ÔÙÒ»´ÎÉý¼¶£¬´úÂëÈçÏ£º

var createTip = function(){
2 var tip;
3 return function(){
4 return tip ||
5 (tip=document.body.appendChild(document.createElement("div")))
6 }
7 }();
8 $('#user').click( function(){
9 var tip = createTip();
10 $(tip).show();
11 });

ºÃ£¬Õâ¾ÍÊÇ×îÖյĵ¥ÀýģʽʵÏÖÁË¡£

ΪʲôcreateTipÒªreturnÒ»¸öfunction£¬¶ø²»ÊÇÖ±½Ó°Ñtip||(tip=document.body.appendChild(document.createElement("div"))) ·µ»Ø³öÀ´ÄØ£¿

ÒòΪÕâÑù¿ÉÒÔ×öµ½¶èÐÔ¼ÓÔØ£¬Ö»ÔÚÐèÒªµÄʱºò´´½¨(ÕâÒ²ÊÇÔÚclick·½·¨ÖÐvar tip = createTip();Òª¼ÓÉÏ()µÄÔ­Òò)£¬·ñÔòä¯ÀÀÆ÷Óöµ½createTipµÄ¶¨ÒåµÄʱºò¾ÍÖ±½ÓÖ´Ðзµ»Øtip£¬Õâ²»ÊÇÎÒÃÇËùÏ£ÍûµÄ¡£

×ܽ᣺

a¡¢Î¨Ò»ÊµÀý£º½ÚԼϵͳ×ÊÔ´£¬Ìá¸ßÐÔÄÜ£»

b¡¢ÃüÃû¿Õ¼ä£º¼õÉÙÈ«¾Ö±äÁ¿µÄÊýÁ¿£»

c¡¢ÊµÀý¿ØÖÆ£ºË½ÓÐʵÀý£¬Ìṩ·ÃÎʽӿÚ

d¡¢ÊÊÓó¡¾°£ºÒ»¸öÀàÖ»ÓÐÒ»¸öʵÀý£¬Ìṩȫ¾Ö·ÃÎʽӿڣ»×ÊÔ´¹²ÏíµÄÇé¿öÏ£¬±ÜÃâÐÔÄÜ»òÆäËûËðºÄ£¬Èç¼ÆÊýÆ÷¡¢ÅäÖã»×ÊÔ´¿ØÖƵÄÇé¿öÏ£¬·½±ã×ÊÔ´Ö®¼äµÄ»¥ÏàͨÐÅ£¬ÈçÏ̳߳ء£

2¡¢¹¹ÔìÆ÷+Ô­ÐÍ

³¡¾°£º¾ÆµêÓжàÖÖÀàÐ͵ķ¿¼ä£¬ÈçºÎÃèÊö¸÷ÖÖ·¿¼äÖ®¼äµÄ¹Øϵ¡£

Ïëµ½µÚÒ»ÖÖ£¬º¯Êý·½·¨£¬´úÂëÈçÏ£º

function Room(roomNumber, type, money) {
2 this.roomNumber = roomNumber;
3 this.type = type; this.money = money;
4 this.getInfo = function() {
5 return this.roomNumber + ', ' + this.type + ', ' + this.money;
6 };
7 }
8 var roomA = Room('101', '񈬄', 200);
9 console.log(roomA);//ÈçºÎ»ñÈ¡·¿¼äÐÅÏ¢ÄØ£¿£¿£¿

ÈçºÎ»ñÈ¡·¿¼äÐÅÏ¢³ÉΪһ´óÎÊÌ⣬ÏñµÚ8ÐдúÂëÄÇÑùÖ±½Óµ÷ÓÃRoom·½·¨£¬ÆäʵthisÖ¸ÏòµÄÊÇwindow¶ÔÏ󣬹ÊRoom·½·¨ÄÚ²¿µÄÊôÐԺͷ½·¨¸³Öµ¶¼ÊǸ³Öµ¸øÁËwindow¶ÔÏó£¬ËùÒÔ¼´Ê¹¿ÉÒÔͨ¹ýwindow.getInfo()À´µ÷Ó㬵«ÊÇÏԵúÁÎÞÒâÒå¡£

ÓÚÊÇ£¬ÎÒÃÇÏëµ½Á˹¹ÔìÆ÷µÄʵÏÖ·½·¨£¬´úÂëÈçÏ£º

function Room(roomNumber, type, money) {
2 this.roomNumber = roomNumber;
3 this.type = type;
4 this.money = money;
5 this.getInfo = function() {
6 return this.roomNumber + ', ' + this.type + ', ' + this.money;
7 };
8 }
9 var roomA = new Room('101', '񈬄', 200);
10 console.log(roomA.getInfo());//101,񈬄,200
11var roomB = new Room('102', 'º£¾°·¿', 799);
12 console.log(roomB.getInfo());//102,º£¾°·¿,799

ÿ´Îµ÷ÓÃʹÓÃnew¹Ø¼ü×ÖʵÀý»¯¶ÔÏó£¬È»ºóµ÷ÓÃgetInfo·½·¨¡£

¹»¼òµ¥¡¢¹»Ö±¹Û£¬µ«ÊÇÓÖÓÐÐÂÎÊÌ⣬getInfoÿ´ÎʵÀý»¯¶¼ÒªÖØд´½¨£¬ÏûºÄÄÚ´æ¡£

¿ªÆôÍⲿÌí¼ÓÔ­ÐÍģʽ£¬´úÂëÈçÏ£º

function Room(roomNumber, type, money) {
2 this.roomNumber = roomNumber;
3 this.type = type;
4 this.money = money;
5 }
6 Room.prototype.getInfo = function() {
7 return this.roomNumber + ', ' + this.type + ', ' + this.money;
8 }
9 var roomA = new Room('101', '񈬄',200);
10 console.log(roomA.getInfo());//101,񈬄,200
11 Room.prototype.book = function() {
12 console.log("book success");
13 }
14 roomA.book();//book success

Óŵ㣺·½·¨¹²Ïí£¬½ÚÔ¼Äڴ棻ËæʱÌí¼Ó·½·¨ÇÒ¿ÉÒÔ±»ÊµÀý»¯Ê¹Óã»

ȱµã£º·½·¨ÁãÉ¢£¬²»ÀûÓÚ¹ÜÀí¡£

ÄǾͰÑÔ­ÐÍͳһÆðÀ´£¬´úÂëÈçÏ£º

function Room(roomNumber, type, money) {
2 this.roomNumber = roomNumber;
3 this.type = type;
4 this.money = money;
5 }
6 Room.prototype = {
7 constructor : Room,
//ÕâÐдúÂëºÜÖØÒª£¬ÒòΪÒѾ­ÖØж¨ÒåÁËprototypeµÄ¡°Ö¸Õ롱
£¬Èç¹û²»×Ô¼ºÖ¸¶¨µÄ»°Ä¬ÈϾÍÊÇobject£¬¶ø²»ÊÇRoom
8 getInfo : function() {
9 return this.roomNumber + ', ' + this.type + ', ' +this.money
10 }
11 }
12 var roomA = new Room('101', '񈬄', 200);
13 console.log(roomA.getInfo());//101,񈬄,200
14 console.log(roomA.constructor == Room);//true
15 console.log(roomA instanceof Room);//true

ÆäÖУ¬ËùÓеķ½·¨ºÍ±äÁ¿¶¼»á±©Â¶³öÀ´£¬ÕâÏÔÈ»²»¹»ºÏÀí£¬¸ü¼ÓÓÅ»¯µÄ·½Ê½ÊÇ°ÑRoom.prototypeÉè¼Æ³É½ÒʾÐ͵ÄÔ­ÐÍ£¬ÀûÓÃ×ÔÖ´Ðк¯Êý¿ÉÒÔÓÐЧµØ±£»¤Ë½ÓбäÁ¿ºÍ·½·¨£¬Ö»±©Â¶×Ô¼ºÏ뱩¶µÄ¶«Î÷£¬´úÂëÈçÏ£º

Room.prototype = function(){
2 var getInfo = function(){
3 return this.roomNumber + ', ' + this.type + ', ' + this.money;
4 }
5 return {
6 constructor:Room,
7 getInfo : getInfo
8 }
9 }()

×ܽ᣺

a¡¢ÊÊÓó¡¾°£ºÒ»¸öÀàÓжà¸öʵÀý£¬ÇÒÏ໥¶ÀÁ¢£¬ÈçUI×é¼þ¡£

3¡¢¼òµ¥¹¤³§Ä£Ê½

³¡¾°£ºÄ³ÂÃÓÎÍøÕ¾ÓлúƱԤ¶©ºÍ¾ÆµêÔ¤¶©¹¦ÄÜ£¬ÈçºÎʵÏÖËüÃǵĹØϵ¡£

³¡¾°ÊµÏÖ£¬´úÂëÈçÏ£º

 var PRODUCT_TYPE = {
2 AIR_TICKET : "01",
3 HOTEL : "02"
4 }
5 function User(){
6 this.shopCart = [];
7 }
8 User.prototype = {
9 constructor : User,
10 order : function(productType){
11 var product = null;
12 switch(productType){
13 case PRODUCT_TYPE.AIR_TICKET:
14 product = new Flight();
15 case PRODUCT_TYPE.HOTEL:
16 product = new Hotel();
17 default:
18 }
19 this.shopCart.push(product);
20 }
21 }

´ËʱÈç¹ûÏëÔö¼Ó»ð³µÆ±ÒµÎñ£¬É¾³ý»úƱҵÎñ£¬¸ÃÔõôʵÏÖ£¿ÐèÒª¸Ä¶¯µÄ´úÂëÒ»µã¶¼²»Áé»î£¬Õâʱ¾ÍÐèÒªÎÒÃÇÀíÇåÓû§ºÍ¾ßÌåÒµÎñÖ®¼äµÄ¹Øϵ£¬Óû§½ö½öÖ»ºÍ¶©µ¥ÓйØϵ¡£

ʹÓüòµ¥¹¤³§Ä£Ê½£¬´úÂëÈçÏ£º

var productFactory = (function(){
2 var productFoctories = {
3 "airTicket" : function(){
4 return new AirTicket();
5 },
6 "hotel" : function(){
7 return new Hotel();
8 }
9 }
10 return {
11 create : function(productType){
12 return productFoctories[productType];
13 }
14 }
15 })();
16 User.prototype = {
17 constructor : User,
18 order : function(productType){
19 var product = productFactory.create(productType);
20 this.shopCart.push(product);
21 }
22 }

×ܽ᣺

¶ÔÏóµÄ´´½¨ºÍʹÓ÷ÖÀ룬ʹÓÃÒ»¸öÀàÉú³ÉʵÀý¡£

a¡¢Ê¹ÓÃÀàUser£ºÊ¹ÓÃÀà½öʹÓòúÆ·£¬Ö°Ôðµ¥Ò»£»

b¡¢¹¤³§ÀàFactory£º¶ÔÏóÀàµÄ¼¯ÖйÜÀí£»

c¡¢¶ÔÏóÀàHotel£ºÒ×ÓÚÀ©Õ¹£¬½öÓ°Ï칤³§Àࣻ

d¡¢ÊÊÓó¡¾°£º¸ù¾Ý²»Í¬²ÎÊý²úÉú²»Í¬ÊµÀý£¬ÕâЩʵÀýÓÐЩ¹²ÐԵij¡¾°£¬Ê¹ÓÃÕßÖ»ÐèʹÓòúÆ·£¬ÎÞÐè¹Ø×¢²úÆ·µÄ´´½¨Ï¸½Ú¡£

4¡¢¹¤³§Ä£Ê½

³¡¾°£ºÄ³ÂÃÓÎÍøÕ¾ÓкܶàÖ־Ƶ꣬²»Í¬µÄ¾ÆµêÄÚÒ²ÓкܶàÖÖ·¿¼ä£¬ÈçºÎÇå³þµØÃèÊöËüÃÇÖ®¼äµÄ¹Øϵ¡£

¹¤³§ÊµÏÖ£¬´úÂëÈçÏ£º

/*********RoomBase ***********/
2 var RoomBase = function(){};
3 RoomBase.prototype = {
4 constructor : RoomBase,
5 create : function(){
6 throw new Error("room create not impl!");
7 },
8 book : function(){
9 this.state = "1";
10 },
11 hasWindow : function(){
12 return true;
13 }
14 }
15 /********************/
16 var RoomA = function(){};
17 extend(RoomA, RoomBase);//¼Ì³Ð
18 RoomA.prototype.create = function(type){
19 console.log("ÕâÊDZê¼ä");
20 }
21 RoomA.prototype.hasWindow = function(){
22 return false;
23 }
24 var RoomB = function(){};
25 extend(RoomB, RoomBase);
26 RoomB.prototype.create = function(type){
27 console.log("ÕâÊÇ´ó´²·¿");
28 }
29 /*********HotelBase ***********/
30 var HotelBase = function(){
31 this.roomFoctory = {};
32 };
33 HotelBase.prototype = {
34 constructor : HotelBase,
35 getRoom : function(type){
36 return this.roomFactory[type];
37 },
38 bookRoom : function(type){
39 var room = this.getRoom(type);
40 room.book();//Ô¤¶©
41 }
42 }
43 var HotelA = function(){
44 this.roomFoctory = {
45 "RoomA" : function(){
46 return new RoomA();
47 },
48 "RoomB" : function(){
49 return new RoomB();
50 }
51 }
52 };
53 extend(HotelA, HotelBase);
54 var HotelB = function(){
55 this.roomFoctory = {
56 "RoomA" : function(){
57 return new RoomA();
58 },
59 "RoomC" : function(){
60 return new RoomC();
61 }
62 }
63 };
64 extend(HotelA, HotelBase);

Õë¶Ô¸ÃÂÃÓÎÍøÕ¾£¬ÍøÕ¾¹ÜÀí¾Æµê£¬¾Æµê¹ÜÀí·¿¼ä£¬ÍøÕ¾²»ÄÜÖ±½Ó¹ÜÀí·¿¼ä£¬ËùÓз¿¼äÔ¤¶©µÄ¹¦ÄÜÈ«²¿×߾ƵêµÄ½Ó¿Ú£¬¸úÍøվûÓйØϵ£¬ÌõÀí²Å±È½ÏÇåÎú¡£

×ܽ᣺

a¡¢¶ÔÏóµÄ´´½¨ºÍʹÓ÷ÖÀ룬×ÓÀà¾ö¶¨³ÉÔ±±äÁ¿µÄ¾ßÌåÀࣻ

b¡¢Ê¹ÓÃÀàHotelBase£ºÌṩ¶ÔÏóÀàµÄ¹ÜÀí£»

c¡¢´´½¨ÀàHotelA£º¹ÜÀí¶ÔÏóµÄʵÀý»¯£¬¶à̬£»

d¡¢¶ÔÏóÀàRoom£ºÖ°Ôðµ¥Ò»£¬À©Õ¹½öÓ°ÏìÏà¹Ø´´½¨Àࣻ

e¡¢¸ù¾Ý²»Í¬³¡¾°²úÉú²»Í¬ÊµÀý£¬ÕâЩʵÀýÓÐЩ¹²ÐԵij¡¾°£¬Ê¹ÓÃÕßÐèÒªÃ÷È·²úƷʹÓõij¡¾°£¬ÎÞÐè¹ØÐIJúÆ·´´½¨Ï¸½Ú¡£

5¡¢´´½¨ÐÍģʽ±È½Ï

¹¤³§Ä£Ê½£º

¢Ù¿É´´½¨¶à¸öÏàËƶÔÏó£»

¢ÚÆÁ±ÎÁË×Ó¶ÔÏóÀàÐÍ£¨ÈçÉÏÀýÖУ¬Ê¹ÓÃHotelÔ¤¶©µÄʱºòÎÒÃDz»ÖªµÀËüÊÇA¾Æµê»¹ÊÇB¾Æµê£¬Ô¤¶©µÄʱºòÊǵ÷ÓÃÁËHotelBaseµÄ»ùÀàÖеÄbookʵÏÖ£¬¸ù±¾Ã»ÓйØÐÄËüÊǾƵêA»¹ÊǾƵêB£©¡£

¹¹Ô캯Êýģʽ£º

¢Ù¿É´´½¨¶à¸öÏàËƶÔÏó£»

¢Ú¿Éʶ±ð×Ó¶ÔÏóÀàÐÍ£»

¢Û´´½¨¶à¸öÍê³ÉÏàͬÈÎÎñµÄʵÀý¡£

Ô­ÐÍģʽ£º

¢Ù¿É´´½¨¶à¸öÏàËƶÔÏó£»

¢Ú¿Éʶ±ð×Ó¶ÔÏóÀàÐÍ£»

¢Û¶à¸öʵÀý¹²Ïí¹«¹²·½·¨¡£

½á¹¹ÐÍģʽ

1¡¢Ä£¿éģʽ

var productFactory = (function(){
2 var productFoctories = {
3 "airTicket" : function(){
4 return new AirTicket();
5 },
6 "hotel" : function(){
7 return new Hotel();
8 }
9 }
10 return {
11 create : function(productType){
12 return productFoctories[productType];
13 }
14 }
15 })();

×ܽ᣺

a¡¢Ä£¿éģʽ¾ÍÊÇÎÒÃdz£ËµµÄÃüÃû¿Õ¼ä£¬ÀïÃæµÄ¶«Î÷¸ù±¾²»ÖØÒª£»

b¡¢±£»¤Ë½Óнӿڣ¬¿ª·Å¹«¹²½Ó¿Ú£»

c¡¢Ä£¿é»¯ÊÇÃæÏò¶ÔÏóµÄµÚÒ»²½£»

d¡¢×ñÑ­µ¥Ò»Ö°ÔðÔ­Ôò¡£

2¡¢Íâ¹Ûģʽ

1 /****Àý1*****/
2 var product;
3 function getProduct(){
4 if(!product){
5 product = productFactory.create();
6 }
7 return product;
8 }
9 /****Àý2*****/
10 /** * ͬʱ×èֹʼþĬÈÏÐÐΪºÍðÅÝ * @param e */
11 var stopEvent = function(e){
12 e.stopPropagation();
13 e.preventDefault();
14 }

¶ÔÏà¹ØµÄ²Ù×÷½øÐÐÒ»²ã°ü×°£¬±ÈÈçÀý2ÖÐÐèÒªÎÒÃÇÿ´Î×èֹʼþðÅݵÄʱºò´òÒ»¸öÈÕÖ¾console.log('ÈÕÖ¾')£¬ÄÇÎÒÃÇÖ»ÐèÒªÔÚstopEventµÄ·½·¨ÖÐд¾ÍÐÐÁË£¬¶ø²»ÐèÒªÔÚÿ¸öÐèÒª×èֹʼþðÅݵĵط½È¥´òÈÕÖ¾¡£

×ܽ᣺

a¡¢¸ü¸ß²ã´ÎµÄ½Ó¿Ú³éÏó£¬Òþ²Øµ×²ãµÄÕæʵ¸´ÔÓÐÔ£»

b¡¢×ñÑ­×îÉÙ֪ʶԭÔò¡££¨ÄãÖ»ÐèÒªÖªµÀÓÐÒ»¸ö½Ó¿Ú¿ÉÒÔʵÏÖÄãµÄÐèÇ󣬶øÄã²»ÐèÒªÖªµÀ½Ó¿ÚÖе½µ×µ÷ÓÃÁËÄÄЩ·½·¨È¥ÊµÏÖÄãµÄÐèÇó£©

3¡¢»ìÈëģʽ

³¡¾°£ºÒ»¸ö·¿×Ó¿ÉÒÔÓÃÀ´³ö×â»ò³öÊÛ£¬ÔÚ²»Í¬µÄ³¡¾°ÏÂÓв»Í¬µÄ¹¦ÄÜ£¬±ÈÈç³öÊÛ»¹Éæ¼°µ½·¿²úÖ¤µÈµÈÆäËûµÄһϵÁж«Î÷£¬ËùÒÔµ¥µ¥Í¨¹ýÒ»¸öÊôÐÔÊÇ°ì²»µ½µÄ£¬Õâ¸öʱºò¾ÍÐèҪʹÓûìÈëģʽ¡£´úÂëÈçÏ£º

/******»ù´¡¶ÔÏó********/
2 var Room = function(){};
3 Room.prototype = {
4 constructor:Room,
5 create:function(){
6 console.log('create');
7 },
8 book:function(){
9 console.log('book');
10 }
11 };
12 /******»ìÈë¶ÔÏó********/
13 var Goods = function(){};
14 Goods.prototype = {
15 sell:function(){
16 console.log('sell');
17 }
18 };
19 /******»ìÈë·½·¨********/
20 var mixin = function (receiver, mixinObj) {
21 // Èç¹û´æÔÚÈý¸öÒÔÉϵIJÎÊýµÄ»°£¬´ÓµÚÈý¸ö¿ªÊ¼±íʾҪ»ìÈëµÄ·½·¨Ãû
22 if (arguments[2]) {
23 for (var i = 2, len = arguments.length; i < len; i++) {
24 receiver.prototype[arguments[i]] = mixinObj.prototype[arguments[i]];
25 }
26 }
27 // ·ñÔò»ìÈëÈ«²¿·½·¨
28 else{
29 for(var methodName in mixinObj.prototype){
30 // ·ÀÖ¹»ìÈ븲¸Ç
31 if(!receiver.prototype[methodName]){
32 receiver.prototype[methodName] = mixinObj.prototype[methodName];
33 }
34 }
35 }
36 }
37
38 /******»ìÈë²Ù×÷********/
39 mixin(Room,Goods);
40 var roomA = new Room();
41 roomA.sell();//µ÷ÓûìÈëºóµÄ·½·¨

 

¡°·¿ÎÝÀࡱ»ìÈë¡°ÉÌÆ·ÀࡱµÄ³öÊÛÊôÐÔ£¬·¿Îݾ;ßÓÐÁ˳öÊ۵ŦÄÜ£¬Í¬Àí£¬Èç¹û»ìÈëÁ˳ö×âµÄÊôÐÔ£¬¾Í¾ß±¸Á˳ö×âµÄ¹¦ÄÜ¡£

×ܽ᣺

a¡¢Í¨¹ýº¯Êý¸´Óôﵽ¶ÔÏóÀ©³äµÄÄ¿µÄ£»

b¡¢»ìÈëºÍ¼Ì³ÐµÄÇø±ð£º»ìÈëÖ»Íê³ÉÁË·½·¨µÄתÒÆ£¬Á½¸ö¶ÔÏó»¹ÊÇÁ½¸ö¶ÔÏ󣬺ÁÎÞÈκιØϵ£»

c¡¢»ìÈëºÍ×éºÏµÄÇø±ð£º×éºÏÊÇÓµÓеĹØϵ£¬±ÈÈç¾ÆµêÓµÓз¿¼ä£¬¾Æµê¿ÉÒÔ²Ù×÷·¿¼ä£¬µ«ÊÇ·¿¼äµÄÊôÐÔ»¹ÊÇ·¿¼äµÄ£¬²»ÊôÓھƵꡣ

4¡¢×°ÊÎģʽ

³¡¾°£ºÒ»¸ö¾ÆµêµÄ·¿¼äÓе­¼¾¼Û¸ñºÍÍú¼¾¼Û¸ñÖ®·Ö£¬ÈçºÎʵÏÖ¡£

var Room = function(price){
2 this.price = price;
3 };
4 Room.prototype = {
5 constructor:Room,
6 getPrice:function(){
7 return this.price;
8 }
9 };
10 var LowSeasonRoom = function(room){
11 this.room = room;//×¢ÈëRoom£¬RoomºÍLowSeasonRoomÊÇ×éºÏµÄ¹Øϵ
12 };
13 LowSeasonRoom.prototype.getPrice = function(){
14 return this.room.getPrice()*0.9;
15 };
16 var HighSeasonRoom = function(room){
17 this.room = room;
18 };
19 HighSeasonRoom.prototype.getPrice = function(){
20 return this.room.getPrice()*1.2;
21 };
22 /****************ʹÓÃ*****************/
23 var roomA = new LowSeasonRoom(new Room(200));
24 console.log(roomA.getPrice());//180

×ܽ᣺

a¡¢¶¯Ì¬¸Ä±ä¶ÔÏóʵÏÖ¶ÔÏóÀ©³ä£»£¨±ÈÈçÃÜÂëÊäÈë¿òÊÇÎı¾ÊäÈë¿òµÄ×°ÊÎģʽ£¬´ÓÎı¾ÊäÈë¿òÖе¥¶À°þÀë³öÀ´µ¥¶ÀʵÏÖÃÜÂëÊäÈë¿òµÄÒµÎñÐèÇó£©

b¡¢È±µãÊÇÔö¼ÓÁ˼ܹ¹µÄ¸´ÔӶȡ£

5¡¢ÊÊÅäģʽ

×ܽ᣺

a¡¢Ö÷ÒªÓÃÀ´½â¾ö¶ÔÏóÖ®¼äµÄ²»¼æÈÝÐÔ£»

b¡¢sumº¯Êý£º¿ÉÒÔ²»Ö»ÊÇÁ½¸öÊýµÄsum£¬¿ÉÒÔͨ¹ýargumentsÊÊÅä¶à¸ö²ÎÊýµÄsum£»

c¡¢jQuery°æ±¾Éý¼¶£º±ÈÈç°æ±¾Éý¼¶Ö®ºó·ÏÆúÁËij¸ö·½·¨Ò»¶¨ÊÇÓÐÆäËûµÄ·½·¨À´¼æÈÝ£»

d¡¢applyº¯Êý£ºÖ¸¶¨×÷ÓÃÓòËæʱ¶¼¿ÉÒÔµ÷Óá£

ÐÐΪÐÍģʽ

1¡¢¹Û²ìÕßģʽ

³¡¾°£º¾ÆµêµÄij¸ö·¿¼äÐèÒª¿Í·¿·þÎñ£¬¾ÆµêÈçºÎÏìÓ¦¡£

 var Room = function(){};
2 Room.prototype = {
3 constructor : Room,
4 service : function(){
5 this.fire("service", this.roomId);
6 }
7 }
8 var Hotel = function(){};
9 Hotel.prototype.addRoom = function(room){
10 room.on("service", function(){
11 //TODO ·þÎñ
12 });
13 }

×ܽ᣺

a¡¢ÃüÁîµÄ·¢ÆðÕߺÍÖ´ÐÐÕß½âñîºÏ£¬don't call us,we will call you£»

b¡¢Ò»¸ö·¢ÆðÕß¿ÉÄܶÔÓ¦¶à¸öÖ´ÐÐÕߣ»

c¡¢Ò»¸öÖ´ÐÐÕßÒ²¿ÉÄÜÊÇÆäËûÖ´ÐÐÕßµÄÃüÁî·¢ÆðÕß

d¡¢³£Óõij¡¾°£º±ÈÈçÎÒÃÇÒ³ÃæÖо­³£»áÓõ½iframe£¬Ò»¸ö×ÓÒ³ÃæÐèÒªµ÷Óø¸Ò³ÃæµÄ·½·¨£¬¾­³£»áʹÓÃparent.functionNmae()È¥µ÷Ó㬵«ÊÇÒ»µ©È¡²»µ½¸¸Ò³Ã棬ÕâÀï¾Í»á±¨´í£¬ËùÒÔÕýÈ·µÄ´¦Àí·½Ê½ÊÇÔÚ¸¸Ò³Ãæ¼àÌýʼþ£¬ÔÚ×ÓÒ³Ãæ´¥·¢Ê¼þ£¬ÕâÑù¾ÍËã·þÎñ²»µ½Ò²²»»á±¨´í,ͨ³£ÔÚ¸¸×ÓÒ³ÃæÖж¼´æÔÚµÄÊÇbody£¬¹ÌÎÒÃÇÏ°¹ßÐÔ°ÑʼþµÄ¼àÌýºÍ´¥·¢·Åµ½bodyÉÏÖ´ÐС£

2¡¢ÖнéÕßģʽ

³¡¾°£ºÒ»¸ö¾Æµêij¸ö·¿¼äÐèÒª·þÎñ£¬¾ÆµêÖÐÓжà¸ö·þÎñÔ±£¬Õâʱºò¸ÃÔõôʵÏÖÄØ¡£

Õâ¸öʱºò¾Í²»ÄÜÓù۲ìÕßģʽ£¬ÒòΪ¹Û²ìÕßģʽÊDz»È·¶¨Ë­À´·þÎñµÄ£¬ÍòÒ»¾ÆµêÖÐËùÓеķþÎñÔ±¶¼À´·þÎñÔõô°ì£¬µÃÓɾƵêÀ´È·¶¨µ½µ×Äĸö·þÎñÔ±¹ýÀ´Ìṩ·þÎñ¡£

var Room = function(){};
2 Room.prototype = {
3 constructor : Room,
4 service : function(){
5 this.fire("service", this.roomId, type);
6 }
7 }
8 var Waiter = function(){};
9 Waiter.prototype = {
10 constructor : Waiter,
11 service : function(){
12 //TODO ·þÎñ
13 }
14 }
15 var Hotel = function(){};
16 Hotel.prototype.addRoom = function(room){
17 room.on("service", function(roomId, type){
18 if(type == "É豸ÐÞÀí"){
19 waiterA.service();
20 }else{
21 if(roomId.startWith("3")){
22 waiterB.service();
23 }else{
24 waiterC.service();
25 }
26 }
27 });
28 }

×ܽ᣺

a¡¢¹ÜÀí¸´ÔÓ¶ÔÏó¹Øϵ£º°Ñ¶à¶Ô¶à²ð·Ö³É¶à¶ÔÒ»£»

b¡¢¶ÔÏó¼äµÄñîºÏתÒÆÖÁÖнéÕߣ»

c¡¢ÖнéÕßµÄÎȶ¨ÐÔÖÁ¹ØÖØÒª¡£

3¡¢ÃüÁîģʽ

³¡¾°£ºÈç¹û¾ÆµêÌṩµÄ·þÎñÓжàÖÖ¶àÑù£¬¸ÃÈçºÎʵÏÖ¡£

´Ëʱ¾ÍÐèÒªÓõ½ÃüÁîģʽ£¬´úÂëÈçÏ£º

 var Services = {
2 clean : function(){
3 console.log("´òɨÎÀÉú");
4 },
5 consult : function(){
6 console.log("×Éѯ");
7 }
8 }
9 var ServcieCommand = function(){
10 return {
11 execute : function(receiver, command){
12 receiver[command]();
13 }
14 }
15 }();

×ܽ᣺

a¡¢ÃüÁîµÄ·¢ÆðºÍʵÏÖ½âñîºÏ

4¡¢ÔðÈÎÁ´Ä£Ê½

³¡¾°£º¼ÙÉèij¸ö¾Æµê·¢ÉúÁ˶·Å¹£¬Èç¹û¾ÆµêÄÚ²¿¿ÉÒÔ´¦ÀíÔò×Ô¼º´¦Àí£¬·ñÔò¾ÍÈþ¯²ì´¦Àí£¬ÔðÈÎÒ»²ã²ãתÒÆ¡£

var Hotel = function(){
2 this.on("fight", function(){
3 if(this.canDo()){//ÄÚ²¿´¦Àí
4 this.do();
5 }else{//±¨¾¯
6 Police.do();
7 }
8 });
9 };
10 Police = function(){
11 return {
12 do : function(){
13 if(this.canDo()){
14 console.log("over");
15 }else{
16 //TODO תÉϼ¶´¦Àí¡£¡£¡£
17 }
18 }
19 }
20 }();

×ܽ᣺

a¡¢Ã¿¸ö½ÚµãÖ»ÖªµÀÏÂÏߣ¬²»ÖªµÀ×îÖÕÖ´ÐÐÕߣ»

b¡¢¿ÉÄܳöÏÖÎÞÈË´¦ÀíµÄÇé¿ö£»

c¡¢È±µãµ÷ÊÔÀ§ÄÑ£¨ËùÒÔÐèÒªÎÒÃÇÔÚÿ¸öÖ´Ðл·½Ú´òÈÕÖ¾£©¡£

Éè¼ÆÔ­Ôò

1¡¢µ¥Ò»Ö°ÔðÔ­Ôò

ÈçºÎÈ·¶¨Ò»¸öÖ°ÔðorÁ½¸öÖ°Ôð£º

a¡¢Ö°Ô𱻶¨ÒåΪ¡°ÒýÆð±ä»¯µÄÔ­Òò¡±£»

b¡¢ÈôÁ½¸öÖ°Ôð×ÜÊÇͬʱ±ä»¯£¬Ôò¿ÉÒÔ×÷Ϊһ¸öÖ°Ô𣻣¨±ÈÈçÇëÇóÊý¾ÝÖ®ºóäÖȾͼ±í£©

c¡¢·¢Éú±ä»¯²Å¶ÔÖ°ÔðµÄÏÞ¶¨ÓÐÒâÒ壬²»±äûÓбØÒª·ÖÀë

Î¥·´²»Ò»¶¨ÊÇ»µÊ£º

±ÈÈ磺$.attr()Õâ¸ö·½·¨Óи³ÖµÒ²ÓÐÈ¡ÖµµÄÖ°Ô𣬵«ÊÇÄܺܺõØÕÒµ½Æ½ºâµã¡£

2¡¢×îÉÙ֪ʶԭÔò

¼õÉÙ¶ÔÏóÖ®¼äµÄÁªÏµ£º

a¡¢Á½¸ö¶ÔÏóÖ®¼ä²»±ØÖ±½ÓͨÐÅÔò²»Ö±½ÓͨÐÅ£¬Í¨¹ýµÚÈý·½ÊµÏÖͨÐÅ£»

b¡¢ÈçÖнéÕßģʽºÍÍâ¹Ûģʽ

Î¥·´²»Ò»¶¨ÊÇ»µÊ£º

±ÈÈ磺$.ajax ºÍ $.post

3¡¢¿ª·Å-·â±ÕÔ­Ôò

¿ª·ÅºÍ·â±Õ£¨¶ÔÀ©Õ¹¿ª·Å£¬¶ÔÐ޸Ĺرգ©£º

a¡¢µ±ÐèÒª¸Ä±äʱ£¬¿ÉÒÔʹÓÃÔö¼Ó´úÂëµÄ·½Ê½£¬µ«²»ÔÊÐí¸Ä¶¯³ÌÐòµÄÔ´´úÂ룬±ÈÈç×é¼þÓÐbug»ò²»Âú×ãÐèÇóʱ£»

b¡¢±ÈÈçÒ»¸öºÜÀÏϵͳеÄÐèÇówindow.onloadµÄʱºòÐèҪͳһ´òÒ»ÏÂÈÕÖ¾£¬ÈçºÎ´¦Àí£¿

·¨1£ºÊ¹ÓÃjQuery£¬ÒòΪjQueryµÄʼþ¿ÉÒÔ¼àÌý¶à¸ö£»

·¨2£ºÖØдonload·½·¨£¬ÖØдµÄʱºòÏȵ÷ËüµÄ·½·¨£¬ÔÙµ÷×Ô¼ºµÄ·½·¨¡£

ÕÒ³ö±ä»¯µÄµØ·½ºÜÖØÒª£º

a¡¢ÌôÑ¡³ö×îÈÝÒ×·¢Éú±ä»¯µÄµØ·½½øÐгéÏó£¬À´·â±ÕÕâЩ±ä»¯£»

b¡¢²»¿É±ÜÃâ·¢ÉúÐÞ¸Äʱ£¬¾¡Á¿ÐÞ¸ÄÈÝÒ×Ð޸ĵĵط½£¬ÈçÐÞ¸ÄÅäÖñÈÐÞ¸ÄÔ´Âë¼òµ¥¡£

   
2905 ´Îä¯ÀÀ       19
Ïà¹ØÎÄÕ Ïà¹ØÎĵµ Ïà¹Ø¿Î³Ì



Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
Öع¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
Öع¹-¸ÄÉƼÈÓдúÂëµÄÉè¼Æ
Èí¼þÖع¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì
×îл¼Æ»®
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù 8-23[ÌØ»Ý]
LinuxÄں˱à³Ì¼°É豸Çý¶¯ 8-15[±±¾©]
Python¡¢Êý¾Ý·ÖÎöÓë»úÆ÷ѧϰ 8-23[ÌØ»Ý]
ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ 8-22[ÏßÉÏ]
QTÓ¦Óÿª·¢ 9-5[±±¾©]

AndroidÊÖ»ú¿ª·¢£¨Ò»£©
Àí½âJavascript
·ÇµäÐÍajaxʵ¼ù
³¹µ×µÄAjax
javascript ʹÓÃCookies
ʹÓà jQuery ¼ò»¯ Ajax ¿ª·¢

Struts+Spring+Hibernate
»ùÓÚJ2EEµÄWeb 2.0Ó¦Óÿª·¢
J2EEÉè¼ÆģʽºÍÐÔÄܵ÷ÓÅ
Java EE 5ÆóÒµ¼¶¼Ü¹¹Éè¼Æ
Javaµ¥Ôª²âÊÔ·½·¨Óë¼¼Êõ
Java±à³Ì·½·¨Óë¼¼Êõ

ijº½¿Õ¹«Ë¾IT²¿ JavaScriptʵ¼ù
ijµçÊÓÈí¼þ HTML5ºÍJavaScript
Öк½ÐÅ JavaScript¸ß¼¶Ó¦Óÿª·¢
´óÇìÓÍÌï web½çÃæAjax¿ª·¢¼¼Êõ
ºÍÀûʱ ʹÓÃAJAX½øÐÐWEBÓ¦Óÿª·¢