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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM