让前端飞Web前端之路前端程序员干货

Javascript中的对象及其属性

2017-09-19  本文已影响35人  softbone

更新于9-20
删除对象的属性
var obj = {x : 1,y : {z : 1}};
var obj2 = obj.y;
delete obj.x;
"x" in obj; //false
obj.x ;//undefined
delete obj.y ;
obj2.z ; // 1
用delete操作符删除对象的属性,注意delete只是切断属性值与宿主对象之间的联系,
并不会销毁这个属性指向的对象,所以obj2指向的属性对象在宿主对象删除属性之后还是存在的,因为这个对象还存在引用数。


创建对象

对象创建的三种方式

三种的区别:
第一种对象的原型是Object.prototype
第二种可以为obj2指定它的原型,若为null,则obj2不继承任何原型(包括Object.prototype)
第三种可以自定义构造函数,为构造函数指定prototype,构造函数为Object则原型是Object.prototype

对象的属性

分两类:自有属性和继承属性
属性的特征(包括自有的和继承的):包含四个特征, 值(value) 、可写(writable) 、可枚举(enumerable)、可配置(configurable)
//(存取器属性为get、set、enumerable、configurable )
不可枚举不代表不可访问
可写表示是否可以设置该属性的值,可枚举表示是否可以通过for/in循环枚举到,可配置表示是否可以删除或修改该属性

遍历/检索属性的常用的方法或操作符

给对象添加和继承的属性同名的属性,添加的属性值会覆盖继承的值

存取器属性 getter和setter

{
xxx : 'sss',
get r(){一些操作 return this.xxx},
set r(value) {一些操作 this.xxx = value}
}
obj.r ; obj.r ="value";

修改对象属性的特性

上一篇 下一篇

猜你喜欢

热点阅读