對(duì)象除了包含屬性之外勉盅,每個(gè)對(duì)象還擁有3個(gè)相關(guān)的對(duì)象特性:
1.對(duì)象的原型(prototype):指向另外一個(gè)對(duì)象,本對(duì)象的屬性繼承自他的原型對(duì)象。
2.對(duì)象的類(class):是一個(gè)標(biāo)識(shí)對(duì)象類型的字符串。
3.對(duì)象的擴(kuò)展標(biāo)記(extensible flag):指明了是否可以向該對(duì)象添加新屬性形病。
一轻局、四種操作對(duì)象的方式
1.引用對(duì)象
創(chuàng)建一個(gè)對(duì)象直接量挨摸,并賦值給多個(gè)變量
2.復(fù)制對(duì)象
復(fù)制對(duì)象比較簡單孩革,但是也容易出錯(cuò),利用for/in語句遍歷對(duì)象成員得运,然后逐一賦值給另外一個(gè)對(duì)象膝蜈。例如:
3.克隆對(duì)象
首先饱搏,為Function對(duì)象擴(kuò)展一個(gè)方法,該方法能夠把參數(shù)對(duì)象賦值給一個(gè)空構(gòu)造函數(shù)的原型對(duì)象置逻,然后實(shí)例化構(gòu)造函數(shù)窍帝,并返回實(shí)例對(duì)象,這樣該對(duì)象就擁有構(gòu)造函數(shù)包含的所有成員诽偷。然后調(diào)用該方法來克隆對(duì)象坤学。
克隆對(duì)象
4.銷毀對(duì)象
談到銷毀,javascript中提供了一套回收機(jī)制报慕,能夠自動(dòng)回收無用存儲(chǔ)單元深浮。當(dāng)對(duì)象沒有被任何變量所引用時(shí),javascript會(huì)自動(dòng)偵測(cè)眠冈,并進(jìn)行垃圾回收程序把這些對(duì)象注銷飞苇,釋放內(nèi)存菌瘫。另外,如果對(duì)象處于一種不可預(yù)知的情況下時(shí)布卡,也會(huì)被回收處理雨让。在設(shè)計(jì)中,對(duì)于不用的對(duì)象忿等,應(yīng)該把其所有引用變量都設(shè)置為null栖忠,將對(duì)象廢除,以釋放內(nèi)存空間贸街。這是一種好的設(shè)計(jì)習(xí)慣庵寞,即節(jié)省系統(tǒng)開支又可以預(yù)防錯(cuò)誤。