iterator遍历器
案例一
for…of为什么不能遍历对象 对象的原型上没有iterator属性
原型上的属性和方法可以被实例化对象所继承
console.log(Array.prototype);
console.log(String.prototype);
console.log(Set.prototype);
console.log(Map.prototype);
console.log(Object.prototype);
二.Iterator原理
当可遍历对象被for…of遍历的时候,Symbol.iterator就会被调用,返回一个iterator对象。
三.for…of原理
当可遍历对象被for…of遍历的时候,Symbol.iterator就会被调用,返回一个iterator对象。 里面有个next()方法,继续调用next()方法,返回一个对象,对象里面有value (可遍历对象的元素),done (判断是否循环结束)当done为true的时候循环结束
let item = arr[Symbol.iterator]()
console.log(item);
console.log(item.next());
console.log(item.next());
console.log(item.next());
console.log(item.next());
console.log(item.next());