創(chuàng)建對(duì)象的一些方法 和應(yīng)用場(chǎng)景

1、字面量的方法創(chuàng)建對(duì)象

使用字面量的方法是創(chuàng)建對(duì)象的基本方法

var  att={
    name:name,
    age:age;
}

優(yōu)點(diǎn)是創(chuàng)建單個(gè) 屬性相對(duì)較少時(shí)書寫方便,便于理解。
缺點(diǎn)當(dāng)創(chuàng)建多個(gè)屬性大致相同的對(duì)象時(shí)它會(huì)比較麻煩而且不便于批量修改;

2、通過(guò)new Object 的方法;

var att=new Object;
完全等于 var att={};

3、通過(guò)工場(chǎng)的方式批量創(chuàng)建出對(duì)象;

這種方法和之前的調(diào)用函數(shù)的方法很象;

function add(name,age,sex){
    var add={
        name,//這里完全等同于name:name,
        age:age,
        eat(){}//這里是創(chuàng)建方法等同于eat:function(){}        
    }
    return add
}
var  att=add{'name','age','sex'}

這種方法創(chuàng)建建的對(duì)象相對(duì)于前面的字面的方法要強(qiáng)大一些 因?yàn)榭蓪?duì)屬性相同的對(duì)象 分別賦值批量創(chuàng)建對(duì)象。
但是這種方法創(chuàng)建的對(duì)象時(shí)每次都會(huì)調(diào)用一次函數(shù)這種方法創(chuàng)建的對(duì)象相同屬性也不會(huì)指向同以地址。每次訪問(wèn)屬性都會(huì)產(chǎn)生垃圾。

3、構(gòu)造函數(shù)的方法創(chuàng)建對(duì)象。

那么對(duì)于上面說(shuō)的工場(chǎng)方法的一些缺點(diǎn)我們有一個(gè)新的方法創(chuàng)建對(duì)象,構(gòu)造函數(shù)數(shù)的方法來(lái)創(chuàng)鍵對(duì)象 ;

function  Add(){
   this.name='name';
    this.eat=function (){};//這里的this指代 當(dāng)調(diào)用函數(shù)試使用的變量的;
    Add.prototype.play=function (){}//這里的方法 最好創(chuàng)建在函數(shù)所指向的原型中有利于回避上面方法中所提到的重復(fù)調(diào)用產(chǎn)生垃圾的問(wèn)題

}
var att=new Add()//構(gòu)造函數(shù)的方法可以說(shuō)只是 以調(diào)用的方式不同來(lái)決定的不與函數(shù)的本身相關(guān);

但是調(diào)用函數(shù)也有一些小的問(wèn)題:方法重讀取產(chǎn)生的垃圾;
為了只讀取一次那么可以使用這種方案;

function Add(){
  this._init();//以_開(kāi)頭命名表示只可以在本函數(shù)中調(diào)用(并非強(qiáng)制規(guī)定)
}
Add.prototype={
    _init:function (){//在這里添加的內(nèi)容最好為屬性,便于屬性的值可以獨(dú)立變更
      this.name:‘name’
      }
  eat:function(){}
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容