for in语句可以用来列举出一个变量的所有成员。如果object是函数(或类即构造函数),那么将列出函数的所有静态成员;如果object是对象,那就是所有实例成员,key的类型是一个字符串,表示成员的名称。
var MyClass=(function(name){ var target={ name:name, init:function(age){ this.age=age; } }; target.init.prototype=target; //target.init.POSITION='position'; var MyClass=target.init; return MyClass; })('vincent')
枚举构造函数的静态变量:
var list=''; for(var key in MyClass){ list+=key+'\n'; } alert(list); //prototype , POSITION
枚举对象的实例成员:
var myClass=new MyClass(25); var list=''; for(var key in myClass){ list+=key+'\n'; } alert(list); //age , name , init