dear all,
вот такой код , я не пойму почему Mozilla его непереваривает (v1.0.0; deb) (IE отработал как ожидалось - значит ли это что я не так написал ? :-)
============ КОД ==========
<HEAD>
<TITL></TITLE>
<SCRIPT>
function mth_GetState() { return this.state; }
function mth_SetState( s ) { this.state = s; return; }
function mth_GetName() { return this.name; }
function mth_GetImg() { return this.image; }
function Card( name , img_name ) {
this.name = name;
this.image = img_name;
this.state = 0;
this.getState = mth_GetState;
this.setState = mth_SetState;
this.getName = mth_GetName;
this.getImg = mth_GetImg;
}
/* ===== MAIN ==== */
/* ***
function CardArray( lesson )
{
var i = 0;
for ( i = 0 ; i < lesson ; i++ ) {
this[ i ] = new Card( "name" + i , "img_" + i );
alert( "Card "+ i + "= " + this[ i ].getName() );
}
this[ 0 ] = new Card( "my1" , "im1" );
this[ 1 ] = new Card( "my2" , "im2" );
this[ 2 ] = new Card( "my3" , "im3" );
}
***** */
var Cards = new Array(
new Card( "my1" , "im1" ),
new Card( "my2" , "im2" ),
new Card( "my3" , "im3" )
);
function on_load()
{
var i = 0;
alert( "Cards[0]=" + Cards[0].getName() + " Img=" + Cards[0].getImg() );
alert( "Cards[1]=" + Cards[1].getName() + " Img=" + Cards[1].getImg() );
for ( i = 0 ; i < 3 ; i++ ) {
alert( "i= " + i );
document.write( "" + i +" name= "+ Cards[i].getName() + "<br> img= " + Cards[i].getImg() );
}
}
</SCRIPT>
</HEAD>
<BODY><!-- onLoad = "on_load();"-->
<br>Hello<br>
<INPUT TYPE="button" NAME="BT" onClick='on_load();'>
</BODY>
===========================
суть в том что массив объектов инициализируеться видимо верно
( если расскоментарить конструктор CardArray и добавить alert можно увидеть что все 3 эл-та инитятся),
но в цикле виден только первый , а остальные два как бы не существуют ?! (о чем и сообщает JavaScript Console); заметте что перед циклом alert-ы показывают как минимум 2 элемента корректно проиничены... а в цикле нЭт :(
знает ли кто-нибудь в чем тут дело ?
на край :
может есть возможность у кого-нибудь попробовать код на более новых релизах Mozilla ?
Спасибо