犀牛——第6章对象 6.5 枚举属性
来源:互联网 发布:如何加淘宝店铺粉丝 编辑:程序博客网 时间:2024/05/17 23:43
6.5 枚举属性
for/in循环可以在循环体中遍历对象中所有可枚举的属性(包括自由属性和继承属性),把属性名称赋值给循环变量。对象继承的内置方法不可枚举的,但在代码中给对象添加的属性都是可枚举的。
var o = {x:1,y:2,z:3}; //三个可枚举的自有属性
o.propertyIsEnumerale("toString"); //=>false,不可枚举
for(p in o) //遍历属性
console.log(p); //输出x、y和z,不会输出toString
过滤for/in循环返回的属性:
for(p in o){
if(!o.hasOwnProperty(p)) continue; //跳过继承的属性
}
for(p in o){
if(typeof o[p] === "function") continue; //
}
两个用以枚举属性名称的函数。
1、Object.keys(),它返回一个数组,这个数组由对象中可枚举的自有属性的名称组成。
2、Object.getOwnPropertyNames(),返回对象的所有自有属性的名称,而不仅仅是可枚举的属性。
6.6 属性getter和setter
对象属性是有名字、值和一组特性构成的。属性值可以用一个或两个方法替代,这两个方法就是getter和setter。由getter和setter定义的属性称做“存取器属性”。
定义存取器属性最简单的方法是使用对象直接量语法的一种扩展写法:
var o = {
//普通的数据属性
data_prop:value,
//存取器属性都是成对定义的函数
get accessor_prop(){ /*函数体*/},
set accessor_prop(value) {/*这里是函数体*/}
};
例子:
var p = {
//x和y是普通的可读写的数据属性
x:1.0,
y:1.0,
//
get r(){ return },
};
- 犀牛——第6章对象 6.5 枚举属性
- 犀牛——第6章对象 6.3删除属性
- 犀牛——第6章对象6.2属性的查询和设置
- 犀牛——第6章对象 6.7属性的特性
- 犀牛——第6章对象 6.1 创建对象
- 犀牛——第14章 Window对象
- 犀牛——第5章语句
- 犀牛——第8章函数 8.7函数属性、方法和构造函数
- 犀牛——第3章 类型、值和变量 3.5 全局对象
- 犀牛——第3章 类型、值和变量 3.6 包装对象
- 犀牛——第2章词法结构
- 犀牛——第4章表达式和运算符
- 犀牛——第7章数组 7.1 创建数组
- 犀牛——第7章 7.3稀疏数组
- 犀牛——第7章数组 7.8 数组方法
- 犀牛——第7章数组 7.9数组方法
- 犀牛——第8章函数 8.1 函数定义
- 犀牛——第8章函数8.2函数调用
- Qt libqevdevtouchplugin.so插件的改写
- xtrabackup 热备 mysql
- java不定参数存在一个小问题。
- 网络编程
- 45. Jump Game II
- 犀牛——第6章对象 6.5 枚举属性
- 问题三20150724java.io.InvalidClassException:local class incompatible: stream classdesc
- GUI组件和事件处理
- day09
- SQLSERVER删除表名包含XX的所有表
- 虚函数程序简单说明
- 2012年5月SAT香港真题解析
- 【Java】final, finally, finalize()
- 集合