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>
    
  • 相关阅读:
    Candy leetcode java
    Trapping Rain Water leetcode java
    Best Time to Buy and Sell Stock III leetcode java
    Best Time to Buy and Sell Stock II leetcode java
    Best Time to Buy and Sell Stock leetcode java
    Maximum Subarray leetcode java
    Word Break II leetcode java
    Word Break leetcode java
    Anagrams leetcode java
    Clone Graph leetcode java(DFS and BFS 基础)
  • 原文地址:https://www.cnblogs.com/lzzhuany/p/4554925.html
Copyright © 2011-2022 走看看