for..of循环首先会向被拜访对象申请一个迭代器对象,而后通过调用迭代器对象的next()办法来遍历所有返回值。数组有内置的@@iterator,因而for..of能够间接利用在数组上。咱们应用内置的@@iterator来手动遍历数组,看看它是怎么工作的:

        var myArray = [ 1, 2, 3 ];        var it = myArray[Symbol.iterator]();        it.next(); // { value:1, done:false }        it.next(); // { value:2, done:false }        it.next(); // { value:3, done:false }        it.next(); // { done:true }