-
属性标签修改表
查看全部 -
自定义多个属性使用defineProperties(),
查看全部 -
如果用自定义属性定义的属性,默认不可写,不可枚举,如果需要修改属性,使用自定义属性从新定义覆盖掉之前的定义的属性;
查看全部 -
get/set 与原型链
如果原型链有get/set定义的属性,该属性不能重新赋值,如果需要赋值需要使用Object.defineProperty(obj,'z',{value:100})来重新赋值;
查看全部 -
属性getter/setter方法
查看全部 -
Object.defineProperty(cat,'price',{enumerable:false,value:100});
可定义属性是否可以枚举,enumerable默认是false
cat.legs != underfined 中cat.legs 可以是underfined也可以是null;
cat.legs !== underfined 中cat.legs 只可以是underfined才返回true;
只枚举不是原型链上的属性用hasOwnProperty过滤
查看全部 -
不允许删除的情况
delete Object.prototype
delete 定义的变量和函数声明(如果未定义的变量时可以删除的,不建议使用未定义的变量,如果在eval里定义的变量可以用delete删除掉);
Object.getOwnpropertyDescriptor(Object,'prototype');获取属性里的所有标签
configurable:属性是否可配置
propertyIsEnumerable():返回true表示可以枚举
查看全部 -
属性删除2:
定义的变量和函数声明都不能删除;
未定义的变量可以被删除,不建议使用未定义的变量
查看全部 -
属性删除1
查看全部 -
属性读写异常:
如果属性未定义再给其定义属性将会报错
避免错误,定义前先判断属性是否未定义
查看全部 -
对象小结。。
查看全部 -
自定义序列化
查看全部 -
序列化的坑
查看全部 -
get set 与原型
obj.z 不成功,如果他的原型上用了get查看全部 -
不可枚举。。。。
查看全部
举报