你能否解释JavaScript中可迭代对象和迭代器的关系?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1905个文字,预计阅读时间需要8分钟。
迭代是访问集合元素的一种方法;可以被迭代的对象称为可迭代对象;迭代器是可以记录遍历位置的对象,迭代器从集合的第一个元素开始访问,直到所有元素被访问完毕。
迭代是访问集合元素的一种方法;可以被迭代的对象称为可迭代对象;迭代器是一个可以记住遍历位置的对象,迭代器对象从集合的第一个元素开始访问,直到所有元素被访问结束,迭代器只能前进不会后退。Lazy evaluation
Lazy evaluation常被译为“延迟计算”或“惰性计算”,指的是仅仅在真正需要执行的时候才计算表达式的值。
与惰性求值相反的是及早求值(eager evaluation)及早求值,也被称为贪婪求值(greedy evaluation)或严格求值,是多数传统编程语言的求值策略。
充分利用惰性求值的特性带来的好处主要体现在以下两个方面:
避免不必要的计算,带来性能上的提升。
节省空间,使得无限循环的数据结构成为可能。
迭代器
ES6 中的迭代器使惰性求值和创建用户定义的数据序列成为可能。迭代是一种遍历数据的机制。 迭代器是用于遍历数据结构元素(称为Iterable)的指针,用于产生值序列的指针。
迭代器是一个可以被迭代的对象。它抽象了数据容器,使其行为类似于可迭代对象。
迭代器在实例化时不计算每个项目的值,仅在请求时才生成下一个值。 这非常有用,特别是对于大型数据集或无限个元素的序列。
可迭代对象
可迭代对象是希望其元素可被公众访问的数据结构。
本文共计1905个文字,预计阅读时间需要8分钟。
迭代是访问集合元素的一种方法;可以被迭代的对象称为可迭代对象;迭代器是可以记录遍历位置的对象,迭代器从集合的第一个元素开始访问,直到所有元素被访问完毕。
迭代是访问集合元素的一种方法;可以被迭代的对象称为可迭代对象;迭代器是一个可以记住遍历位置的对象,迭代器对象从集合的第一个元素开始访问,直到所有元素被访问结束,迭代器只能前进不会后退。Lazy evaluation
Lazy evaluation常被译为“延迟计算”或“惰性计算”,指的是仅仅在真正需要执行的时候才计算表达式的值。
与惰性求值相反的是及早求值(eager evaluation)及早求值,也被称为贪婪求值(greedy evaluation)或严格求值,是多数传统编程语言的求值策略。
充分利用惰性求值的特性带来的好处主要体现在以下两个方面:
避免不必要的计算,带来性能上的提升。
节省空间,使得无限循环的数据结构成为可能。
迭代器
ES6 中的迭代器使惰性求值和创建用户定义的数据序列成为可能。迭代是一种遍历数据的机制。 迭代器是用于遍历数据结构元素(称为Iterable)的指针,用于产生值序列的指针。
迭代器是一个可以被迭代的对象。它抽象了数据容器,使其行为类似于可迭代对象。
迭代器在实例化时不计算每个项目的值,仅在请求时才生成下一个值。 这非常有用,特别是对于大型数据集或无限个元素的序列。
可迭代对象
可迭代对象是希望其元素可被公众访问的数据结构。

