Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

JS - qualche dubbio

Il forum per tutti i developer. Leggere attentamente il regolamento di sezione prima di postare.

JS - qualche dubbio

Messaggioda ssjx » lun nov 03, 2008 1:01 pm

Allora... visto che i mille impegni che avevo non mi bastavano ho cominciato a studiacchiare JS per un lavoro in cui il semplice "copia/taglia/incolla ad intuito" usato fino ad oggi non basta più

La guida a cui faccio riferimento è Guida JavaScript per esempi (non molto aggiornata in realtà ma mi pare sia un buon punto di partenza... ma accetto suggerimenti [;)] )

Leggendola ho cominciato a capire alcune cose ma su altre ho alcuni dubbi:

- Variabli globali e locali: in questa lezione in particolare (ma spesso anche in quelle precedenti) si dice in pratica di non usare il prefisso var onde evitarsi problemi... il che leggendo la guida ha senso... il dubbio allora è perché in quasi tutti gli script che mi sono capitati fra le mani in vita mia trovo sempre tale dichiarazione se invece è meglio ometterla? cosa mi sfugge?

- In questa lezione invece anell'ultimo esempio viene specificata una cosa che non ho capito:
//notare che "onload" è scritto tutto minuscolo

Cioè cosa starebbe a significare? qual è la differenza? [boh]

- Infine (e qui mi sto scervellando) un atroce dubbio sulle operazioni con le variabili:
Codice: Seleziona tutto
window.open("sponsor.htm","", "left="+sinistra+",top="+alto+",width="+larghFinestra+", height="+altezFinestra+",menubar,toolbar");


Premesso che avrei capito come si usa la somma, non riesco invece a decifrare gli esempi in cui non sommano un bel niente ma racchiudono semplicemente una variabile fra due + [boxed]

Grazie mille
Usavo IE e mi lamentavo... usavo Mozilla e mi lamentavo, decisamente meno ma mi lamentavo, ... poi ho trovato Opera e fu amore a prima vista
Avatar utente
ssjx
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 5756
Iscritto il: ven nov 26, 2004 3:37 pm
Località: Barcellona

Re: JS - qualche dubbio

Messaggioda eDog » lun nov 03, 2008 3:32 pm

I + servono per aggiungere le variabili alla stringa a cui stai lavorando.

Esempio

Codice: Seleziona tutto
var nickname = "ssjx";
//Io ho sempre messo var, non ti so spiegare perché dicano di metterlo o meno..
//E' come la storia dei ";" alcuni lo mettono e altri no..

//Continuando con la lezione, se io scrivo
document.write("Ciao " + nickname);

//Secondo te cosa verrà stampato? Verrà stampato "Ciao ssjx". Ecco il funzionamento è questo.

eDog,
"È meglio essere temuti o rispettati? Io dico: è troppo chiedere entrambe le cose?" - Tony Stark
Avatar utente
eDog
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 3679
Iscritto il: sab dic 30, 2006 7:58 pm
Località: Vescovana (Padova)

Re: JS - qualche dubbio

Messaggioda Rumez » lun nov 03, 2008 3:35 pm

provo a darti delle risposte io sulle cose che so..o che penso di sapere..tanto per discuterne un po' visto che può esser einteressante.

[nota] //notare che "onload" è scritto tutto minuscolo

credo che vada scritto tutto in minuscolo perché JS è case sensitive..prova a fare un document.getElementById("identificatore") scritto diversamente da come l'ho scritto io e vedrai che il browser s'incazza.

[nota] operazioni sulel variabili
Codice: Seleziona tutto
window.open("sponsor.htm","", "left="+sinistra+",top="+alto+",width="+larghFinestra+", height="+altezFinestra+",menubar,toolbar");


l'istruzione window.open di JS è così formattata:
Codice: Seleziona tutto
window.open('percorso','nome finestra','valori separati da virgola');

che con un esempio pratico può diventare così:
Codice: Seleziona tutto
window.open('http://www.MegaLab.it','MegaLab.it','width=600,height=600 ,toolbar=yes, location=no,status=yes,menubar=yes,scrollbars=no,resizable=no');


ora diciamo che vogliamo rendere parametrica l'ultima parte ('width=600,height=600 ,toolbar=yes, location=no,status=yes,menubar=yes,scrollbars=no,resizable=no')in modo da poter cambiare dinamicamente ad esempio la grandezza della fineste
Codice: Seleziona tutto
var altezza='500'
var larghezza='500'

window.open('http://www.MegaLab.it','MegaLab.it','width=' + larghezza + ',height=' + altezza + ' ,toolbar=yes, location=no,status=yes,menubar=yes,scrollbars=no,resizable=no');

le stringhe altezza e larghezza andranno quindi a concatenarsi alla stringa delle impostazioni di apertura della finestra
Avatar utente
Rumez
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 1783
Iscritto il: mar mag 13, 2003 2:08 pm


Re: JS - qualche dubbio

Messaggioda ssjx » lun nov 03, 2008 4:41 pm

Uhmm.... no scusate l'idiozia ma continuo a non capire [cry]

1 - Discorso onload: la cosa che non spiega è perché quando lo si usa nel tag <body> si scrive onLoad, mentre all'interno dello script tutto minuscolo ... x intenderci è proprio una sega mentale e niente di più, ma mi ha incuriosito e non ho trovato risposta...


2 - Discorso somma variabili: se mi si pone questo codice:
Codice: Seleziona tutto
var nickname = "ssjx";

document.write("Ciao " + nickname);

La cosa quadra perché di fatto si dice "scrivi la parola "Ciao" + il contenuto della variabile nickname" .... tutto regolare

La cosa non mi quadra invece più nell'esempio successivo di Rumez perché le variabili larghezza e altezza non vengono sommate proprio a nulla ma semplicemente racchiuse fra due più:
Codice: Seleziona tutto
var altezza='500'
var larghezza='500'

window.open('http://www.MegaLab.it','MegaLab.it','width=' + larghezza + ',height=' + altezza + ' ,toolbar=yes, location=no,status=yes,menubar=yes,scrollbars=no,resizable=no');

perché quindi non va scritto così? (che a logica sarebbe giusto [uhm] )
Codice: Seleziona tutto
var altezza='500'
var larghezza='500'

window.open('http://www.MegaLab.it','MegaLab.it','width=' larghezza  ',height=' altezza ' ,toolbar=yes, location=no,status=yes,menubar=yes,scrollbars=no,resizable=no');
Usavo IE e mi lamentavo... usavo Mozilla e mi lamentavo, decisamente meno ma mi lamentavo, ... poi ho trovato Opera e fu amore a prima vista
Avatar utente
ssjx
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 5756
Iscritto il: ven nov 26, 2004 3:37 pm
Località: Barcellona

Re: JS - qualche dubbio

Messaggioda eDog » lun nov 03, 2008 4:56 pm

Eccerto che vengono sommate.

Codice: Seleziona tutto
    var altezza='500'
    var larghezza='500'

    window.open('http://www.MegaLab.it','MegaLab.it','width=' + larghezza + ',height=' + altezza + ' ,toolbar=yes, location=no,status=yes,menubar=yes,scrollbars=no,resizable=no');


'width=' + larghezza ==> diventa width=contenuto-variabile-larghezza ==> ossia width=500

'height=' + altezza ==> diventa height=contenuto-variabile-altezza ==> ossia height=500

Per aggiungere il contenuto di una variabile a una stringa bisogna aggiungerla con +. E' la stessa cosa dell'esempio che ti ho fatto, non capisco dove ti blocchi.. [uhm]

Per quanto riguarda l'onLoad.. boh.. io ho sempre scritto onLoad, onClick, onBlur, onFocus, ecc ecc ecc.. e il codice funziona..
eDog,
"È meglio essere temuti o rispettati? Io dico: è troppo chiedere entrambe le cose?" - Tony Stark
Avatar utente
eDog
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 3679
Iscritto il: sab dic 30, 2006 7:58 pm
Località: Vescovana (Padova)

Re: JS - qualche dubbio

Messaggioda Rumez » lun nov 03, 2008 5:01 pm

per alcuni DOCTYPE se scrivi le maiuscole non ti si valida la pagina...in ogni caso pure io la reputo una sega mentale..anzi un segone mentale...nel dubbio io scrivo sempre in minuscolo

per la questione delle stringhe ha già risposto eDog..il "+" (più) è il carattere di concatenazione di JS un po' come lo è il "." (punto) in PHP
Avatar utente
Rumez
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 1783
Iscritto il: mar mag 13, 2003 2:08 pm

Re: JS - qualche dubbio

Messaggioda ssjx » lun nov 03, 2008 5:17 pm

eDog ha scritto:Per aggiungere il contenuto di una variabile a una stringa bisogna aggiungerla con +. E' la stessa cosa dell'esempio che ti ho fatto, non capisco dove ti blocchi.. [uhm]


Ecco mi bloccavo proprio qui perché da nessuna parte era scritto che una variabile deve essere racchiusa fra i + .... e non è che adesso lo abbia capito ma lo sto dando come dato di fatto (perché continuo a non capirne il motivo)... spiego il dilemma:

se io scrivessi width= larghezza per logica questo vorrebbe già dire appunto width="contenuto della variabile larghezza" ... qual è quindi il senso dei due + ? Cioè ho appurato che la sintassi prevede di racchiuderlo fra i due segni ma vorrei capire il perché e, soprattutto, in cosa consisterebbe la somma che io continuo a non vedere (cioè per me sarebbe stato lo stesso che dire "le variabili vanno racchiuse fra due giraffe" mentre, mi pare di capire, che per voi non è affatto così ma ci vedete davvero una somma [boh] )

OK sono complicato ma ho sempre avuto questo difetto di voler capire e non soltanto saper applicare [;)]
Usavo IE e mi lamentavo... usavo Mozilla e mi lamentavo, decisamente meno ma mi lamentavo, ... poi ho trovato Opera e fu amore a prima vista
Avatar utente
ssjx
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 5756
Iscritto il: ven nov 26, 2004 3:37 pm
Località: Barcellona

Re: JS - qualche dubbio

Messaggioda eDog » lun nov 03, 2008 5:22 pm

Rumez ha scritto:per alcuni DOCTYPE se scrivi le maiuscole non ti si valida la pagina...in ogni caso pure io la reputo una sega mentale..anzi un segone mentale...nel dubbio io scrivo sempre in minuscolo.



In XHTML 1.0 Transitional non ho mai avuto questo problema. Forse nello Strict.. [boh]

se io scrivessi width= larghezza per logica questo vorrebbe già dire appunto width="contenuto della variabile larghezza" ... qual è quindi il senso dei due + ?


L'interprete js ti darebbe errore (o semplicemente non eseguirebbe il codice) proprio perché non c'è nessun operatore (parola chiave) che indichi che il contenuto della variabile larghezza deve essere aggiunto alla stringa, cosa che fa appunto il + in questo caso. (E' un'errore di semantica)

OK sono complicato ma ho sempre avuto questo difetto di voler capire e non soltanto saper applicare [;)]


Ci mancherebbe, fai bene! [std]
eDog,
"È meglio essere temuti o rispettati? Io dico: è troppo chiedere entrambe le cose?" - Tony Stark
Avatar utente
eDog
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 3679
Iscritto il: sab dic 30, 2006 7:58 pm
Località: Vescovana (Padova)

Re: JS - qualche dubbio

Messaggioda Rumez » lun nov 03, 2008 5:26 pm

ma la variabile non va racchiusa! è una questione di concatenazione...che può essere singola o multipla

singola:
Codice: Seleziona tutto
var risulato
var valore1

risultato = "Il valore della variabile valore1 è: " + valore1


multipla:
Codice: Seleziona tutto
var risulato
var valore1 = "07:35"
var valore2 = "18:15"

risultato = "Il sole sorge alle " + valore1 + " e tramonta alle " + valore2


fidati che a rigor di logica è proprio così..nulla viene racchiuso tra due +

[;)]
Avatar utente
Rumez
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 1783
Iscritto il: mar mag 13, 2003 2:08 pm

Re: JS - qualche dubbio

Messaggioda ssjx » lun nov 03, 2008 5:39 pm

Cavolo ma sai che finalmente ho capito? ........ il problema è proprio che io vedevo quelle variabili racchiuse fra due più (che non avevano quindi significato di somma ma solo "formale") ... adesso è tutto chiaro

Tnx per l'aiuto [;)] (ed al prossimo dubbio che mi viene vi converrà non aprire il thread [:D] )
Usavo IE e mi lamentavo... usavo Mozilla e mi lamentavo, decisamente meno ma mi lamentavo, ... poi ho trovato Opera e fu amore a prima vista
Avatar utente
ssjx
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 5756
Iscritto il: ven nov 26, 2004 3:37 pm
Località: Barcellona

Re: JS - qualche dubbio

Messaggioda Rumez » lun nov 03, 2008 5:54 pm

[^] vai!
Avatar utente
Rumez
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 1783
Iscritto il: mar mag 13, 2003 2:08 pm

Re: JS - qualche dubbio

Messaggioda eDog » lun nov 03, 2008 5:57 pm

Buon proseguimento di studio.. [^]
eDog,
"È meglio essere temuti o rispettati? Io dico: è troppo chiedere entrambe le cose?" - Tony Stark
Avatar utente
eDog
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 3679
Iscritto il: sab dic 30, 2006 7:58 pm
Località: Vescovana (Padova)

Re: JS - qualche dubbio

Messaggioda dararag » mar nov 04, 2008 8:44 pm

comunque, mi pare che le stringhe e le variabili possano essere concatenate anche con il &, oppure mi sto confondendo?
Maledette aziende produttrici, l'unico telefilm interessante degli ultimi tempi l'hanno interrotto alla decima puntata... e chi voleva sapere la fine?
Avatar utente
dararag
Silver Member
Silver Member
 
Messaggi: 1116
Iscritto il: mar gen 22, 2008 8:57 pm
Località: Casoria


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising