所以我定义了一个Hashtable
(使用jshashtable.js):
hashy = new Hashtable();
我在里面放了一些钥匙:
hashy.put("hi", "yay");
hashy.put("hello", "yes");
现在我想用.each来迭代它,正如医生所说:
hashy.each(iterator());
但它说"对象不是函数"
现在,如果我这样做:
hashy.each(function() { });
它是有效的,但有没有办法用这种方式调用现有的函数?
我刚刚意识到最明显的答案是:
hashy.each(function(){迭代器();});
假设您的iterator
函数如下所示:
function iterator(key, value) {
// Do something with key and/or value
}
然后只需传入不带括号的函数。使用括号,您将立即执行该函数(仅执行一次),并将返回的值传递给each()
,这可能不是您想要的。
hashy.each(iterator);