Javascript中关于对象属性的小总结
Javascript中对象的属性分为数据属性、存取器属性两种,两者的属性描述符不同:
- 数据属性:拥有value,writable,configurable,enumerable四个特性,后三个都为Boolean值;
- 存取器属性:拥有set,get,configurable,enumerable四个特性,前两者为函数,其中set方法传入参数,该参数作为设置属性值表达式的右侧。当该属性没有set时则该属性无写入特性
对象属性的查询/检测方法
Object.keys(obj)
: 返回obj自有可配置属性的名称集合;Object.getOwnPropetyNames(obj)
:返回obj所有属性的名称集合;prop in obj
:检测obj中自有属性,继承属性是否包含prop;obj.hasOwnProperty(prop)
:检测obj中自有属性是否包含prop;obj.propertyIsEnumerable(prop)
:检测prop是否为obj的自有可配置属性;for(prop in obj)
:遍历obj所有可枚举的属性(包括自有属性,继承属性);Object.getOwnPropertyDescriptor(obj,prop)
:获取obj.prop的属性描述符.
对象属性的删除方法
delete obj.prop
:只能删除obj的自有属性;
对象的创建方法
Object.create(...)
:参数为所创建对象的原型prototype, 检测p是否为o对象的原型方法:p.isPrototypeOf(o);- 对象直接量:例如
var test={x:[1,2],y:3};
var temp=new Object()