javascript能不能释放对象
本篇内容介绍了“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能不能释放对象”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341