TOTAL ACCESS 無料カウンター  UNIQUE ACCESS 無料カウンター

2009年6月3日水曜日

引越し

はてなダイアリーへ引っ越します。いや、引っ越しました。

http://d.hatena.ne.jp/shoichimasuhara/

2009年6月1日月曜日

よくやる変数のミス

Javascriptのforは

for(i=0;i<10;i++) と
for(i in array)がありますが

↑の書き方だと i がグローバルオブジェクトのプロパティになってしまって
ずっと残ってしまいます。なので

for(var i=0;i<10;i++)
for(var i in array)

のようにちゃんとvarで宣言しましょう。
関数内ならその関数のCallオブジェクトのプロパティになるので、
関数が終わり次第消えます(変にクロージャみたいになってなければ。

IEのArrayオブジェクトにindexOfメソッド追加

IEのindexOfメソッドはStringにしかついてないので

['hoge', 'foo', 'bar'].indexOf('foo')

ということができません。なので必要な場合は事前にArrayオブジェクトにメソッドを追加する必要があります。


if(!Array.indexOf){
 Array.prototype.indexOf = function(object){
  for(var i = 0; i < this.length; i++){
   if(this[i] == object){
    return i;
   }
  }
  return -1;
 }
}

IEやっぱりめんどくさい
【参考資料】
http://soledadpenades.com/2007/05/17/arrayindexof-in-internet-explorer/