首頁 >web前端 >前端問答 >javascript可以釋放物件嗎

javascript可以釋放物件嗎

青灯夜游
青灯夜游原創
2021-09-07 15:35:552638瀏覽

javascript可以釋放物件。當一個對象沒有被引用時,該對象就被廢除了,JavaScript會自動銷毀所有廢除的對象,即釋放對象;也可以通過“對象= null;”語句,把對象的所有引用都設置為null,來強制釋放對象。

javascript可以釋放物件嗎

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

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

手動釋放物件:

对象 = null;

當物件不會被任何變數引用時,JavaScript 會自動回收物件所佔用的資源。

範例:

var obj = {  //定义对象,被变量obj引用
    x : true,
    y : false
}
obj = null;  //设置为空,废除引用

手動刪除物件方法/屬性:

#
delete obj.name/obj.say();

擴充資料:JS建立物件(3種方式)

1、建構物件

使用new 運算子呼叫建構函數,可以建構一個實例物件。

var o = new Object();  //定义一个空对象
var a = new Array();  //定义一个空数组
var f = new Function();  //定义一个空函数

2、物件直接量

使用直接量可以快速建立對象,也是最有效率、最簡單的方法。具體用法如下:

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

在物件直接量中,屬性名稱與屬性值之間透過冒號進行分隔,屬性值可以是任意類型的數據,屬性名稱可以是JavaScript 標識符,或是字串型表達式。屬性於屬性之間透過逗號分隔,最後一個屬性結尾不需要逗號。

3、使用 Object.create

Object.create 是 ECMAScript 5 新增的一個靜態方法,用來建立一個實例物件。此方法可以指定物件的原型和物件特性。具體用法如下:

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進階教學

以上是javascript可以釋放物件嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn