for/in:
是ES3中的方法,用来遍历对象(集合)的方法;
不过,for/in 会输出自身以及原型链上可枚举的属性,可以使用 hasOwnProperty 来过滤原型链上的属性
Object.keys():
是ES5中方法,用来获取对象自身可枚举的属性键
原型中属性和设置了不可枚举的属性,都获取不到
效果类似 for in+hasOwnProperty
Object.getOwnPropertyNames()
是ES5中方法,用来获取对象自身的全部属性名
不论自身对象是否设置了可枚举,都可以获取到