javascriptの質問です。

prototype.jsでonloadした後に、for(i in hoge)の式を使うと、登録もしてないfunctionがずらずらと出てくるのですが、これはどこのfunctionが出てきているのでしょうか…?
i.match(/[^0-9]/)とかで回避はできるのですが出てくる理由がわからないと気持ち悪いです。
どなたか教えてください。お願いします。

ちなみに式はこんなんで↓
function tests(){
aaa = new Array("a-a","b-a","c-a");
ccc = "";
for(i in aaa){
bbb = new Array();
bbb = aaa[i].split(/-/);
for(k in bbb){
alert(bbb[k]);
ccc = ccc + bbb[k];
}
}
alert(ccc);
}
Event.observe(window, 'load', tests, false);

回答の条件
  • 1人2回まで
  • 登録:2008/03/21 19:10:46
  • 終了:2008/03/24 10:11:49

ベストアンサー

id:Bookmarker No.1

しおり回答回数191ベストアンサー獲得回数342008/03/21 20:02:21

ポイント60pt

prototype.js が Array クラスに追加した関数です。

prototype.js v1.5.0 の使い方 - Array クラスに対する拡張

id:tukihatu

つまり新しくarrayを設定していて、その中に拡張functionが登録してあると。

出てきたのは拡張機能ですか。

ということはfor inは使わないで普通にfor使うしかなさそうですね…ありがとうございます。

2008/03/24 10:11:09

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません