javascript可以釋放對(duì)象。當(dāng)一個(gè)對(duì)象沒(méi)有被引用時(shí),該對(duì)象就被廢除了,JavaScript會(huì)自動(dòng)銷(xiāo)毀所有廢除的對(duì)象,即釋放對(duì)象;也可以通過(guò)“對(duì)象 = null;”語(yǔ)句,把對(duì)象的所有引用都設(shè)置為null,來(lái)強(qiáng)制釋放對(duì)象。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
JavaScript 能夠自動(dòng)回收無(wú)用存儲(chǔ)單元,當(dāng)一個(gè)對(duì)象沒(méi)有被引用時(shí),該對(duì)象就被廢除了,JavaScript 會(huì)自動(dòng)銷(xiāo)毀所有廢除的對(duì)象。把對(duì)象的所有引用都設(shè)置為 null,可以強(qiáng)制廢除對(duì)象。
手動(dòng)釋放對(duì)象:
對(duì)象 = null;
當(dāng)對(duì)象不被任何變量引用時(shí),JavaScript 會(huì)自動(dòng)回收對(duì)象所占用的資源。
例:
var obj = { //定義對(duì)象,被變量obj引用 x : true, y : false } obj = null; //設(shè)置為空,廢除引用
手動(dòng)刪除對(duì)象方法/屬性:
delete obj.name/obj.say();
擴(kuò)展資料:JS創(chuàng)建對(duì)象(3種方式)
1、構(gòu)造對(duì)象
使用 new 運(yùn)算符調(diào)用構(gòu)造函數(shù),可以構(gòu)造一個(gè)實(shí)例對(duì)象。
var o = new Object(); //定義一個(gè)空對(duì)象 var a = new Array(); //定義一個(gè)空數(shù)組 var f = new Function(); //定義一個(gè)空函數(shù)
2、對(duì)象直接量
使用直接量可以快速創(chuàng)建對(duì)象,也是最高效、最簡(jiǎn)便的方法。具體用法如下:
var objectName = { 屬性名1 : 屬性值1, 屬性名2 : 屬性值2, ... 屬性名n : 屬性值n };
在對(duì)象直接量中,屬性名與屬性值之間通過(guò)冒號(hào)進(jìn)行分隔,屬性值可以是任意類(lèi)型的數(shù)據(jù),屬性名可以是 JavaScript 標(biāo)識(shí)符,或者是字符串型表達(dá)式。屬性于屬性之間通過(guò)逗號(hào)進(jìn)行分隔,最后一個(gè)屬性末尾不需要逗號(hào)。
3、使用 Object.create
Object.create 是 ECMAScript 5 新增的一個(gè)靜態(tài)方法,用來(lái)創(chuàng)建一個(gè)實(shí)例對(duì)象。該方法可以指定對(duì)象的原型和對(duì)象特性。具體用法如下:
Object.create(prototype, descriptors)
示例:使用 Object.create定義一個(gè)對(duì)象,繼承 null,包含兩個(gè)可枚舉的屬性 size 和 shape,屬性值分別為 "large" 和 "round"。
var newObj = Object.create (null, { size : { //屬性名 value : "large", //屬性值 enumerable : true //可以枚舉 }, shape : { //屬性名 value : "round", //屬性值 enumerable : true //可以枚舉 } }); console.log(newObj.size); //large console.log(newObj.shape); //round console.log(Object.getPrototypeOf(newObj)); //null
【推薦學(xué)習(xí):javascript高級(jí)教程】