首页 >web前端 >前端问答 >javascript可以释放对象吗

javascript可以释放对象吗

青灯夜游
青灯夜游原创
2021-09-07 15:35:552618浏览

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