【发布时间】:2014-08-15 07:11:15
【问题描述】:
我正在调用一个 JavaScript 函数,该函数希望显示一系列内容。它显示一个计数,并一个一个地显示项目。当我传递一个普通的 JavaScript 数组时,一切正常。
但是我有太多的东西要一次记住。我想要做的是,将一个与数组具有相同接口的对象传递给它,并在函数尝试访问数据时调用我的方法。事实上,如果我通过以下:
var featureArray = {length: count, 0: func(0)};
然后显示计数,并正确显示第一项。但我不想分配所有条目,否则我会耗尽内存。当用户尝试显示第二个项目时,该功能当前崩溃。我想知道何时访问第 1 项,并为第 1 项返回 func(1),为第 2 项返回 func(2),等等(即,延迟创建该项目,直到它被请求)。
这在 JavaScript 中可行吗?
【问题讨论】:
-
那么,当用户调用 featArray[0] 你希望它执行 func(0) 并给你值?为什么用户不能只使用 func(0) 代替?
-
如果你有太多的项目要保存在内存中,你认为你有足够的内存来显示所有这些吗?
-
你从哪里得到所有这些物品?
-
@Bergi - 也许他正在过滤它们,只显示符合特定标准的一些。
-
好吧,这将有助于查看您的代码片段。这些物品是从哪里来的?它们是如何生成的?
标签: javascript arrays virtual