7.4.8.1 ListIterator next( )
ListIterator next 方法是一个标准的内置函数对象(第17节),它执行以下步骤:
- 使 O 变为 this 值。
- 使 f 变为 the active function object。
- 如果 O 没有一个 [[IteratorNext]] 内置插槽,则抛出一个TypeError 错误。
- 使 next 变为 O.[[IteratorNext]]。
- 如果 SameValue(f, next) 为 false,则抛出一个TypeError 错误。
- 如果 O 没有一个 [[IteratedList]] 内置插槽,则抛出一个 TypeError 错误。
- 使 list 变为 O.[[IteratedList]]
- 使 index 变为 O.[[ListIteratorNextIndex]]
- 使 len 变为 list 的元素数。
- 如果 index ≥ len,那么
a. 返回 CreateIterResultObject(undefined, true)。 11.设置 O.[[ListIteratorNextIndex]] 为 index + 1。
12.返回 CreateIterResultObject(list[index], false)。
注意:如果应用于除了最初关联的对象之外的任何对象,ListIterator next 方法将抛出异常。