js中的对象封装
用json封装,用构造函数封装,用原型函数进行封装,原型函数最节省内存,将大部分相同的属性或方法放在静态区域中,创建对象时,如果对象属性与默认的不一样,则可以在该对象中覆盖静态区域中的值,不影响其他对象的属性。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | < html > < head > < title >函数的封装</ title > < script type="text/javascript"> // 用json创建对象 // 特点: 1,生成麻烦 2,生成出来的对象之间没有什么关联 var iphone1={'pinpai':'苹果','color':'黑色','weight':'100g','msg':function(){alert('发短信')}}; var iphone2={'pinpai':'苹果','color':'黑色','weight':'102g','msg':function(){alert('发短信')}}; var iphone3={'pinpai':'苹果','color':'黑色','weight':'104g','msg':function(){alert('发短信')}}; // 用构造函数封装对象 //特点:1,创建过程比较简单,2,浪费内存 function shouji(zhongliang){ this.pinpai='苹果'; this.color='黑色'; this.weight=zhongliang; this.msg=function(){alert('发短信')} } var iphone1=new shouji('100g'); var iphone2=new shouji('103g'); var iphone3=new shouji('104g'); //用原型方式封装对象 //省内存 function shouji(zhongliang){ this.weight=zhongliang; } shouji.prototype.pinpai='苹果';//将pinpai,color属性添加到静态区域中,任何对象都可以共享,如果个别对象属性不同,则可以把个别对象的属性改一下,不影响其他对象的属性 shouji.prototype.color='黑色'; var iphone1=new shouji('100g'); var iphone2=new shouji('103g'); var iphone3=new shouji('104g'); </ script > </ head > < body > </ body > </ html > |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步