for in 与Object.keys()的区别
function test(a, b) {
this.a = a;
this.b = b;
}
test.prototype = {
c: "c"
}
var _a = new test("a", 1);
console.log(Object.keys(_a));//["a","b"]
for (var key in _a) {
console.log(key);
// a,b,c
}
总结:
Object.keys():返回一个数组,数组值为对象自有的属性,不会包括继承原型的属性
for in :遍历对象可枚举属性,包括自身属性,以及继承自原型的属性