JavaScript オブジェクト内の配列リテラルを指定すると、独自のオブジェクトのプロパティへのアクセスが機能しないようです。
var closure = {
myPic : document.getElementById('pic1'),
picArray: [this.myPic]
}
alert(closure.picArray[0]); // alerts [undefined]
他のJavaScriptオブジェクトにアクセスして配列アイテムを宣言するとうまくいくようですが
var closure1 = {
myPic : document.getElementById('pic1')
}
var closure2 = {
picArray: [closure1.myPic]
}
alert(closure2.picArray[0]); // alerts [object HTMLDivElement]