ぶろぐ

日記です

jsの仕様 - ループ内でのオブジェクトの生成


多分、jsの仕様
forとかのループの中でオブジェクトを生成(new Object;)しても、新しいメモリ空間にオブジェクトは生成されない。
多分。
newで新しいメモリ空間にオブジェクトを生成しているつもりだけど、実は同じメモリ空間に上書きしている。
らしいよ!
多分。
そのうち検証するけど、忘れないようにメモる。

GoogleMap APIでマーカーにイベントハンドラを実装するときにつまずいた。

追記

多分理由わかった。
Jsの、スコープの範囲に原因があったんだ。
ブロックスコープがないから、関数スコープ内でnew宣言しても、既にやりましたよーってスルーするんだ。
と言うことは、無名関数を使って別の関数スコープを作ってやれば、新しいメモリ空間にインスタンスされるな。
多分、そう言うことかも。
あとで試そ。

追記その2

クロージャー使えばいけるはず