zoukankan      html  css  js  c++  java
  • js中的对象封装

    用json封装,用构造函数封装,用原型函数进行封装,原型函数最节省内存,将大部分相同的属性或方法放在静态区域中,创建对象时,如果对象属性与默认的不一样,则可以在该对象中覆盖静态区域中的值,不影响其他对象的属性。

    <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>
    
  • 相关阅读:
    lldb
    错误记录
    越狱后
    c#学习
    26python类
    day01
    第二冲刺阶段第四天
    第二冲刺阶段第三天
    第五周课后作业
    结对作业
  • 原文地址:https://www.cnblogs.com/lzzhuany/p/4554925.html
Copyright © 2011-2022 走看看