上节我们讨论了对象的定义和对象的创建,知道了函数也是对象,知道了对象都是由函数创建的,知道了对象的原型和函数的原型属性的关系。这节说一下关于对象属性的操作,下节就可以切入正题了。
属性删除
1 var person = {age : 28, title : ‘fe‘}; 2 delete person.age; // true 3 delete person[‘title‘]; // true 4 person.age; // undefined 5 delete person.age; // true 6 7 delete Object.prototype; // false, 8 9 var descriptor = Object.getOwnPropertyDescriptor(Object, ‘prototype‘); 10 console.log(descriptor) //Object {value: Object, writable: false, enumerable: false, configurable: false}
delete操作符删除一个属性值后会返回true,第5行也返回true是因为person.age已经是个undefined,所以仍然会返回一个true,第7行删除Object的prototype属性返回了一个false,我们可以通过第9行Object.getOwnPropertyDescriptor()方法查看一下Object.prototype的特性,configurable属性值为false(不可配置),因此返回false。
属性检测
时间: 2024-08-09 23:01:01