javascript可以释放对象吗
javascript可以释放对象。当一个对象没有被引用时,该对象就被废除了,JavaScript会自动销毁所有废除的对象,即释放对象;也可以通过“对象 = null;”语句,把对象的所有引用都设置为null,来强制释放对象。
本教程操作环境: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可以释放对象吗的详细内容,更多请关注其它相关文章!
上一篇: 本地数据库是html5新特性吗
推荐阅读
-
抽象类可以被new实例化,直接创建抽象类对象吗?
-
kindeditor编辑器 kindeditor-min.js 会出现异常0.style为空或不是对象,有影响吗。可以解决吗
-
javascript - 后端提供给前端restful的接口,前端怎么操作,我想要一个具体的案例,可以提供下吗?
-
生手,对象名可以跟类名一样吗
-
生手,对象名可以跟类名一样吗
-
javascript - php 有什么函数是可以根据文件名称,来获取这个文件的全路径的吗?或者js 怎么获取文件的全路径?
-
javascript - 上传文件时的加密是在本地加密吗,那样key是不是可以被获取到?
-
javascript - php 响应 ajax 的时候,怎么返回 json 对象呢?我这样对吗?
-
javascript - 上传文件时的加密是在本地加密吗,那样key是不是可以被获取到?
-
超出div宽度部分用省略号用javascript可以弄吗?