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(関数() { iterator(); });

于 2012-07-21T12:59:54.823 に答える
0

iterator関数が次のようなものであると仮定します。

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

...次に、括弧なしで関数を渡します。括弧を使用すると、関数をすぐに (1 回だけ) 実行し、戻り値を に渡しますがeach()、これはおそらく意図したものではありません。

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