你的位置:首页 > Java教程

[Java教程]原型与继承学习笔记2


上节我们讨论了对象的定义和对象的创建,知道了函数也是对象,知道了对象都是由函数创建的,知道了对象的原型和函数的原型属性的关系。这节说一下关于对象属性的操作,下节就可以切入正题了。

    属性删除

 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。

    属性检测