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 }