溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

javascript能不能釋放對象

發(fā)布時間:2021-09-07 16:53:09 來源:億速云 閱讀:110 作者:chen 欄目:web開發(fā)

本篇內(nèi)容介紹了“javascript能不能釋放對象”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!


本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

JavaScript 能夠自動回收無用存儲單元,當一個對象沒有被引用時,該對象就被廢除了,JavaScript 會自動銷毀所有廢除的對象。把對象的所有引用都設(shè)置為 null,可以強制廢除對象。

手動釋放對象:

對象 = null;

當對象不被任何變量引用時,JavaScript 會自動回收對象所占用的資源。

例:

var obj = {  //定義對象,被變量obj引用
    x : true,
    y : false
}
obj = null;  //設(shè)置為空,廢除引用

手動刪除對象方法/屬性:

delete obj.name/obj.say();

擴展資料:JS創(chuàng)建對象(3種方式)

1、構(gòu)造對象

使用 new 運算符調(diào)用構(gòu)造函數(shù),可以構(gòu)造一個實例對象。

var o = new Object();  //定義一個空對象
var a = new Array();  //定義一個空數(shù)組
var f = new Function();  //定義一個空函數(shù)

2、對象直接量

使用直接量可以快速創(chuàng)建對象,也是最高效、最簡便的方法。具體用法如下:

var objectName = {
    屬性名1 : 屬性值1,
    屬性名2 : 屬性值2,
    ...
    屬性名n : 屬性值n
};

在對象直接量中,屬性名與屬性值之間通過冒號進行分隔,屬性值可以是任意類型的數(shù)據(jù),屬性名可以是 JavaScript 標識符,或者是字符串型表達式。屬性于屬性之間通過逗號進行分隔,最后一個屬性末尾不需要逗號。

3、使用 Object.create

Object.create 是 ECMAScript 5 新增的一個靜態(tài)方法,用來創(chuàng)建一個實例對象。該方法可以指定對象的原型和對象特性。具體用法如下:

Object.create(prototype, descriptors)

示例:使用 Object.create定義一個對象,繼承 null,包含兩個可枚舉的屬性 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

“javascript能不能釋放對象”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI