delete 操作符分析
发布时间:2023-03-10 08:46:06 所属栏目:教程 来源:
导读:delete 操作符用于删除对象的某个属性;如果没有指向这个属性的引用,那它最终会被释放。
delete 操作符可以删除对象的一个属性。
JavaScript 中的关键字与其他语言略有不同,如 C++ 中的 delete 关键字会释放
delete 操作符可以删除对象的一个属性。
JavaScript 中的关键字与其他语言略有不同,如 C++ 中的 delete 关键字会释放
delete 操作符用于删除对象的某个属性;如果没有指向这个属性的引用,那它最终会被释放。 delete 操作符可以删除对象的一个属性。 JavaScript 中的关键字与其他语言略有不同,如 C++ 中的 delete 关键字会释放内存,JavaScript中不会,只有当一个值的引用归零时,才会被释放。 1. 使用 delete delete 操作符在与操作数运算结束后,会返回一个布尔值,成功返回 true。在属性是不可配置的情况下会返回 false,在严格模式下,则会抛出 TypeError 异常。 var person = { age: , }; delete person.age; console.log(person); // 输出:{} 当一个属性为不可配置的时候: var person = {}; Object.defineProperty(person, 'age', { value: , writable: true, configurable: false, }); delete person.age; // 返回false console.log(person); // 输出:{age: 17} 2. 在严格模式下的 delete 如果在严格模式下,对一个不可配置属性进行 delete 操作,则会抛出异常。 'use strict'; // 开启严格模式 var person = {}; Object.defineProperty(person, 'age', { value: , writable: true, configurable: false, }); delete person.age; // TypeError: Cannot delete property 'age' 3. 对使用 var 声明的变量进行 delete 使用 var 声明的变量默认是不可配置的,所以对 var 声明的变量进行 delete 操作是无效的。 var number = ; delete number; // false console.log(number); 这里的 number 是 window下的一个属性,可以使用 Object.getownPropertyDescriptor 来查看属性的描述符。 var number = ; Object.getownPropertyDescriptor(window, 'number'); 4. 使用 delete 删除数组成员 delete 可以用于删除数组成员,并且是真正意义的删除,可以让指定的成员变成 empty 。 var arr = [, , , , ]; delete arr[]; // true console.log(arr); 有关数组 empty 相关的内容可以查阅数组章节。 (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |