0

所以我有一个Hashtable定义(使用 jshashtable.js):

hashy = new Hashtable();

我在里面放了一些钥匙:

hashy.put("hi", "yay");
hashy.put("hello", "yes");

现在我想用 .each 对其进行迭代,正如文档所说:

hashy.each(iterator());

但它说'对象不是函数'

现在,如果我这样做:

hashy.each(function() { });

它有效,但是有没有办法以这种方式调用现有函数?

4

2 回答 2

0

我刚刚意识到最明显的答案是:

hashy.each(function() { iterator(); });

于 2012-07-21T12:59:54.823 回答
0

假设您的iterator功能类似于以下内容:

function iterator(key, value) {
    // Do something with key and/or value
}

...然后只需在没有括号的情况下传递函数。使用括号,您将立即(仅一次)执行该函数并将返回值传递给each(),这可能不是您想要的。

hashy.each(iterator);
于 2012-07-22T15:44:24.103 回答