for...in 与 for...of

for...in

for...in语句以任意顺序遍历一个对象的除Symbol以外的可枚举属性。

for...in会循环原型链上的属性

        function test() {
        }
        test.prototype.testa = '123123'
        var c1 = new test()
        c1.testb = '1111'
        for (item in c1) {
            console.log(item) // testb、testa
        }

 for...of

for...of语句在可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等)上创建一个迭代循环,调用自定义迭代钩子,并为每个不同属性的值执行语句

 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/statements/for...of

原文地址:https://www.cnblogs.com/-Kam/p/12410624.html