javascript 设计模式

本文详细阐述了编程领域的核心技术,包括前端开发、后端开发、移动开发等细分技术领域,涉及HTML、CSS、JavaScript等关键技术,以及大数据开发、AI音视频处理、测试等热门话题。文章旨在为读者提供全面的技术视角,帮助理解和掌握现代软件开发的核心概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


类的设计

  1. <!DOCTYPE html>  
  2. <html>  
  3.   <head>  
  4.     <meta charset="UTF-8">  
  5.     <title></title>  
  6.     <meta name="viewport" content="width=device-width, initial-scale=1.0">  
  7.   </head>  
  8.   <body>  
  9.       <h1>Hello</h1>  
  10.   </body>  
  11.   <script>  
  12.     function Car(model){  
  13.         this.model=model;  
  14.         this.color="test";  
  15.         this.getInfo=function(){  
  16.             return this.model+" "+this.color;  
  17.         }  
  18.     }  
  19.     var myCar=new Car("mo");  
  20.     console.log(myCar.getInfo());  
  21.   </script>  
  22. </html>  

构造器模式

  1. <!DOCTYPE html>  
  2. <html>  
  3.   <head>  
  4.     <meta charset="UTF-8">  
  5.     <title></title>  
  6.     <meta name="viewport" content="width=device-width, initial-scale=1.0">  
  7.   </head>  
  8.   <body>  
  9.       <h1>Hello</h1>  
  10.   </body>  
  11.   <script>  
  12. function Car(model,year,miles){  
  13.     this.model=model;  
  14.     this.year=year;  
  15.     this.miles=miles;  
  16.     this.toString=function(){  
  17.         return this.model+" has done"+this.miles+" miles";  
  18.     };  
  19. }  
  20. var civic=new Car("Honda Civic",2009,20000);  
  21. var mondeo=new Car("Ford Mondeo",2010,5000);  
  22.   
  23. console.log(civic.toString());  
  24. console.log(mondeo.toString());  
  25.   </script>  
  26. </html>  

Module模式

  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="UTF-8">  
  5. <title></title>  
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">  
  7. </head>  
  8. <body>  
  9. <h1>Hello</h1>  
  10. </body>  
  11. <script>  
  12. var basketModule=(function(){  
  13.         //basket私有变量,无法从外界访问  
  14.         var basket=[]  
  15.   
  16.         function doSomethingPrivate(){  
  17.         alert("dosomethingprivate");  
  18.         }  
  19.         return {  
  20.         addItem: function(values){  
  21.         basket.push(values);  
  22.         }  
  23.         doSomething:doSomethingPrivate,  
  24.         getTotal:function(){  
  25.             var itemCount=this.getItemCount();  
  26.             return itemCount;  
  27.         }  
  28. }  
  29. })();  
  30. basketModule.addItem({item:"bread",price:0.5});  
  31. console.log(basketModule.getItemCount());  
  32.   
  33. </script>  
  34. </html>  

RevealingModule

  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="UTF-8">  
  5. <title></title>  
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">  
  7. </head>  
  8. <body>  
  9. <h1>Hello</h1>  
  10. </body>  
  11. <script>  
  12. var myRevealingModule=function(){  
  13.     var private="Ben Cherry";  
  14.     var publicVar="Hey there!";  
  15.     function privateFunction(){  
  16.         console.log("Name:"+privateVar);  
  17.     }  
  18.     function publicSetName(strName){  
  19.         privateName=strName;  
  20.     }  
  21.     function publicGetName(){  
  22.         privateFunction();  
  23.     }  
  24.     return {  
  25.         setName: publicSetName,  
  26.         greeting:publicVar,  
  27.         getName:publicGetName  
  28.     };  
  29. }();  
  30. myRevealingModule.setName("Paul Kinlan");  
  31. </script>  
  32. </html> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值