深入对象
存取器属性
以下是视频部分注释
// 对象属性由名字、值、和一组特性(attribute)构成。
// 在ES5中,属性可以用一个或两个方法替代,这两个方法就是getter和setter。
// 由getter和setter定义的属性称之"存取器属性"(accessor property)
// 它不同于"xx属性"(date property)只有一个简单的值
// 当程序cha询存取器属性值时,JS调用getter方法。该方法返回值就是属性存取表达式的值。
// 当程序设置存取器属性值时,JS调用setter方法。将赋值表达式的右值当作参数传入setter。
// 如果同时拥有setter和getter说明他是一个读/写属性
// 只有setter说明他是只写属性,读取只写属性总是返回undefined
// 只有getter说明他是只读属性
属性的特性
以下视频部分注释
4个特性
value 属性的值
writable 可写入性
enumerable 可枚举性
configurable 可配置型:可否配置特性,可否删除本属性
除了value其余的特性都是布尔值
通过getOwnPropertyDescriptor(obj,prop)可以获取某个属性的特性
//Es5定义了两个方法用来枚举对象属性。这2个方法都不能枚举原型上的属性
//keys方法枚举所有可枚举属性
//getOwnPropertyNames枚举所有属性,包括不可枚举的属性
包括存取器属性的怎么判断的
之前帖子排序少了一个,以更新至35
|