Salve.
Sto creando degli oggetti che mi permettono di lavorare in Ajax e DOM e ho riscontrato un problema relativo alla visibilità delle variabili.
Il problema si verifica quando da una funzione ne chiamo un altra e questa deve modificare delle variabili globali.
Ispezzionandole con Firebug su Firefox ho visto che, passando da una funziona all'altra, le variabili passano da definite e con valore assegnato a undefined.
Stesso problema me lo da su IE.
Di seguito un esempio:
Codice:
codice:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>test</title>
<script language="javascript" type="text/javascript">
var TestObj=new MyObj();
function MyObj(){
	this.InStr="";
	this.InInt=0;
	this.Multiplier=0;
	this.OutInt=0;
	this.Out=ObjOut;
	function ObjOut(){
		Calculate();
		return "Value: "+this.InStr;
	}
	function Calculate(){
		this.OutInt=this.Int*this.Multiplier;
	}
}
function Test(){
	var Value="";
	TestObj.InStr="Hallo world!";
	TestObj.InInt=100;
	TestObj.Multiplier=3;
	Value=TestObj.Out();
	document.getElementById("test0").innerHTML=Value;
	document.getElementById("test1").innerHTML="Valore: "+TestObj.InInt+"
Moltiplicatore: "+TestObj.Multiplier+"
Risultato: "+TestObj.OutInt;
}
function Clear(){
	for (Counter=0;Counter<=3;Counter++){
		document.getElementById("test"+Counter).innerHTML="";
	}
}
</script>
</head>
<body>
<input type="button" name="button" name="Test" value="Test" onclick="javascript: Test();" style="width: 100px;" />
<input type="button" name="button" name="Clear" value="Clear" onclick="javascript: Clear();" style="width: 100px;" />
<table width="800" border="1" cellspacing="0" cellpadding="3" style="font-family: Verdana; font-size: 10pt">
	<tr>
		<td valign="top" width="200">test0:

		<div id="test0">
		</div>
		</td>
		<td valign="top" width="200">test1:

		<div id="test1">
		</div>
		</td>
		<td valign="top" width="200">test2:

		<div id="test2">
		</div>
		</td>
		<td valign="top" width="200">test3:

		<div id="test3">
		</div>
		</td>
	</tr>
</table>
</body>
</html>
Il risultato che mi aspetto è che la funziona Calculate() esegua il prodotto tra le due variabili TestObj.InInt e TestObj.Multiplier ed invece restituisce 0.
Lo stesso problema me lo da anche con le variabili dichiarate globalmente.
Ho letto varia documentazione ma non ho trovato nessuna risposta.
C'è qualcuno che mi sa dire se cosa ho sbagliato?
O se non è prevista una cosa del genere in Javascript?
Dopo aver perso molto tempo a risolvere il problema dello Sleep vorrei evitare grossi mal di testa pure per questo.
Spero di essere stato chiaro.
Grazie.
A.