Salve ragazzi mi sono appena immerso nel JavaScript, piú che altro mi ha dato la spinta a studiarmelo l'universitá :P
Sto studiando gli occetti, creazione e manipolazione, e mi sono imbattuto in un'istruzione molto interessante 'with'.
Ho iniziato a crearmi una pagina di prova di cui vi incollo le varie sezioni degli script:
codice:
<script language="JavaScript">
<!--
function Computer(speed,hdspace,ram){
this.speed = speed;
this.hdspace = hdspace;
this.ram = ram;
this.get_price = function (){
var the_price = 1000;
if(this.speed == "2Ghz")
the_price += 200;
else
the_price += 100;
if (this.hdspace == "80GB")
the_price += 50;
else
the_price += 25;
if (this.ram == "1GB")
the_price += 150;
else
the_price += 75;
return the_price;
}
}
var work_computer = new Computer("2Ghz", "80GB", "1GB");
var home_computer = new Computer("1,5Ghz", "40GB", "512");
var laptop_computer = new Computer("1Ghz", "20GB", "256");
var work_computer_price = work_computer.get_price();
var home_computer_price = home_computer.get_price();
var laptop_computer_price = laptop_computer.get_price();
// -->
</script>
Qui mi sono creato il costruttore di un oggetto computer, e ho creato 3 istanze dell'oggetto di nome work_computer, home_computer e laptop_computer; e poi nel body ho fatto quest'altro script:
codice:
<script language="JavaScript">
<!--
with (work_computer){
document.write("A lavoro sto utilizzando un computer con "+speed+" di processore;
");
document.write(ram+" di ram; ");
document.write("e anche con un bell'hd da "+hdspace+".
");
}
with (home_computer){
document.write("A casa ho una bestiolina da: "+speed);
document.write(" "+ram+" e ");
document.write(hdspace+" mica male davvero!
");
}
with (laptop_computer){
document.write("Mentre il mio povero portatile ha "+speed+ "di proc.
");
document.write("un "+ram+" di ram,");
document.write(" e anche un hd da "+hdspace".");
}
document.write("Rispettivamente mi sono costati: "+work_computer_price+" da lavoro;
");
document.write("home_computer_price+" quello in casa e "+laptop_computer_price+" il portatile");
// -->
</script>
Allora qui nella pagina mi dovrebbero venire le scritte dei miei vari computer e quanto ho speso per comprarli.
Ecco il fatto strano, se lascio il primo blocco di with da solo, ovvero
codice:
with (work_computer){
document.write("A lavoro sto utilizzando un computer con "+speed+" di processore;
");
document.write(ram+" di ram; ");
document.write("e anche con un bell'hd da "+hdspace+".
");
}
Va tutto liscio e mi stampa a video tutte le caratteristiche, ma se aggiungo uno degli altri with oppure anche un document.write, non vedo piú niente!
Qualcuno ha mica visto qualcosa di sbagliato nel mio codice, perché io ho controllato e non mi sembra di aver sbagliato qualcosa....
Se puó esservi utile utilizzo Firefox come browser.
Grazie a tutti in anticipo per le risposte!