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:
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"> <!-- 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>
Allora qui nella pagina mi dovrebbero venire le scritte dei miei vari computer e quanto ho speso per comprarli.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>
Ecco il fatto strano, se lascio il primo blocco di with da solo, ovveroVa 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!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+". "); }
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!

Rispondi quotando