1.for…in…
遍历对象,还会得到对象原型链上的属性,k可以通过hasOwnProperty()方法过滤原型链上的属性
2.Object.keys()
返回对象自身属性组成的数组,自动过滤了原型链上的属性,可以通过forEach来遍历
3.Object.getOwnPropertyNames()
返回自身属性组成的数组,包括不可枚举的属性,可以通过forEach遍历
4)Reflect.ownKeys()
返回对象自身所有属性组成的数组,包括不可枚举属性和Symbol属性