Qualcuno potrebbe spiegarmi il comportamento di questo codice?
Dopo aver chiamato la funzione "Gets" che utilizza il metodo "Match" due volte di seguito (con lo stesso risultato) questa ritorna il valore "D" messo nelle variabili A1 e A2.
Ora, succede che sia A1 che A2 contengono "D" eppure nel contempo A1 e A2 risultano essere disuguali come mostrato dal risultato delle "if".
A mio avviso si tratta di un enorme bug che mi ha causato una enorme perdita di tempo.
Questo messaggio vuole evitare che altri perdano in futuro del tempo prezioso.
L' "alert" è stato aggiunto per evidenziare sia la lunghezza delle variabili in questione, sia la tipologia, mostrando ancora una volta che esse sono uguali in tutto e per tutto.
<SCRIPT language="javascript">
LTC1="10-AD"
A1=GetS(LTC1)
A2=GetS(LTC1)
alert("L1=" + A1.length+" L2="+A2.length+" T1="+typeof A1+" T2="+typeof A2)
if (A1 == "D"){alert("Verifica1:"+A1+";"+A2)}
if (A2 == "D"){alert("Verifica2:"+A1+";"+A2)}
if (A1 == A2) {alert("Verifica3:"+A1+";"+A2)}
//********************
function GetS(LTC1){
S=null
for (I3=0;S==null;I3++){
S= LTC1.match("D")
}//End-for
return(S)
}//End-function