Newsgroup: it.comp.lang.javascript
Titolo: l'istruzione "niente"

Buongiorno al ng. Sto studiando un po' di javascript e sono alle prese con
un problema sicuramente banale. Vi spiego, le lezioni che ho trovato mi
insegnano
if(condizione) {istruzione}. Ma se io volessi questo:
if (a<b) {non fare niente} else {alert("ciao mondo")} che cosa dovrei
scrivere al posto di "non fare niente"?
Grazie per aver letto il mio articolo, un saluto a tutti
-- 
Marco

 wrote in message
B8366AE9.1F6%get_...@libero.it...


semplice: non inserire affatto l'istruzione. Se cioč l'istruzione č che
qualcosa accada
solo se a> o uguale a b, metti solo
if(a>=b){//do this
}
ciao
TrueLies
http://www.unitedscripters.com/
-- 
Posted from  [212.141.82.166] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

if(a>=b) alert("ciao mondo")

 che cosa dovrei scrivere al posto di "non fare niente"?
Ci metti un semplice ";", ma sarebbe un cattivo esempio di programmazione.
Molto meglio scrivere:
if (a >=b) alert("...");
Maurizio.

In CW2Q7.256341$
sq5.12...@news.infostrada.it
, Maurizio.,


Per prima cosa ringrazio te, Maurizio, e agli altri che mi hanno risposto in
maniera cosě tempestiva e gentile, ma torniamo alla mia richiesta, che ho
sicuramente sbagliato esempio. Cerco di farne uno diverso, scusatemi per
quello precedente.
a=1
function funzione1() {
if (a==10) {
/* qui non so come dire "non fare niente" */
} else {alert("ciao mondo")}}
function incrementa() {
a++
}
Con 'incrementa' il valore di'a' puň diventare 2,3,4 etc. Quando 'a' arriva
a 10 vorrei che la funzione1 non producesse alcun effetto, quando invece 'a'
supera il 10 ecco che la funzione1 torna a mostrare "ciao mondo".
Spero che adesso l'istruzione "non fare niente" abbia un senso e che in
qualche modo si possa tradurre in javascript. Grazie di nuovo e  buona
giornata a tutti.
-- 
Marco

 qualche modo si possa tradurre in javascript.
Se lo vuoi per forza tradurre in js puoi fare cosě:
if (a == 10)
    ;                    // questo vuol dire non fare niente
else
   alert("ciao mondo")
Maurizio.

 ;                    // questo vuol dire non fare niente
Poco fa mi hai detto che ";" č un cattivo esempio di programmazione, io
invece voglio diventare un BUON esempio di programmatore ;-)
In questa oretta ho spulciato il web e mi sono trovato davanti alcuni
"return" (che non ho ben chiari, so solo che restituiscono qualcosa). return
true, return false, return null. Che ne dici di un return false o null?
Sarebbero sbagliati e produrrebbero qualche guaio?
 
-- 
Marco

 Sarebbero sbagliati e produrrebbero qualche guaio?
Assoluntamente no. Tutto va bene quando si vuole ottenere un certo
risultato. Un ";", un void(0), un return vanno tutti bene. È solo una
questione estetica.
Maurizio.

ciao marco, bisogna che ti decidi a dirci quel che ti serve nei dettagli. Un
conto è dire a<b un altro a==b: esempio:
non deve fare nulla per a==b e qualcosa per tutto il resto?
if(a!=b){//o: if a!=10
alert('')
}
se deve fare solo se a non è <b
if(a>=b){... bla bla}
ciao
TrueLies aka Alberto Vallini
http://www.unitedscripters.com/
-- 
Posted from  [212.141.82.117] 


return è una keyword che termina la funzione. E' come dire: "exit". Se vi
aggiungi un dato
esce e consente di memorizzare un valore:
return 400
vorrebbe dire che se tu fai
var myVar=funzioneX()
se funzione X incontra la condizione return 400, alla variabile myVar viene
ASSEGNATo il valore
400


 ciao marco, bisogna che ti decidi a dirci quel che ti serve nei dettagli.
Ciao True Lies, ti ringrazio dell'interessamento ma non posso decidermi, non
si tratta di un'esigenza, ma di una curiosità. Prima di affacciarmi su
questo ng ho scaricato circa 2000 articoli, li ho letti e mi sono accorto
che la mia domanda non era una FAQ. Sono andato su jspoint di R. Riccardi,
ho guardato ovunque, niente neanche lì. Ecco che ho pensato di non
disturbare chiedendo se in javascript esiste un'istruzione che "non
istruisce". Nella pratica è un controsenso, nessuno lo mette in dubbio (lo
capisco persino io che non capisco un'accidente) ma nella teoria se ne può
sempre parlare, talvolta un controsenso può animare un dialogo, e magari
quel dialogo desta interesse almeno quanto "come faccio chiudere una
finestra senza che mi appaia l'avviso?" E sono sicuro che un programmatore
sa perfettamente come istruire il browser affinchè "non faccia niente",
anche se "non serve a niente".
Grazie di tutto True Lies, anche per le altre risposte, buon proseguimento.
-- 
Marco
 

 inutilmente il codice, lo rendono meno comprensibile e meno efficiente.
Afferrato il concetto, mille grazie.
-- 
Marco

ah bhe se è una domanda generica o, diciamo così didattica, i modi per istruire
una funzione a non fare niente sono due:
1) non includere alcuna istruzione per quella fattispecie (è il metodo
standard)
2) mettere una istruzione return. MA: return conclude la funzione, per cui non
è un istruire a non fare niente, ma a chiudere il tutto.
Per cui return non è la soluzione adatta a non fare niente: se tu non volessi
fare nulla nella fattispecie A ma qualcosa nella fattispecie B, il programma
incontrando un return nel caso di A, impedirebbe di eseguire il codice
successivo, del quale non si può sapere a priori (cioè, appuinto, in senso
didattico) se occorra invece che sia eseguito per fare successive validazioni.
Dunque il modo per non fare nulla è esattamente quello di non prevedere la
fattispecie.
So e mi rendo conto che per uno che si avvicina ad un linguaggio può apparire
sconcertante, ma la logica che vi è dietro è adamantina e non si tratta di
reticenze: dovrebbe infatti essere logicamente persuasivo che un lignuaggi, nel
caso non si voglia fare niente in un caso X, preveda esattamente di NON
prevedere il caso X: è uno "spreco" di codice prevedere una fattispecie per la
quale non occorrono comandi.
Tu potresti, in linea di massima, dire
if(Y){alert('ciao')}
else if(X){}
ma vedi da te che il codice non ha senso: è lò'equivalente che dire:
if(Y){alert('ciao')}
l'else successivo non avrebbe alcuno scopo e, come tale, può essere omesso. 
Di più, prevedere graffe vuote in certe circostanze ti può dare messaggi di
errore.
Un caso è il ciclo while() senza argomenti: in sè legittimo, avvia un ciclo
infinito: se prevedi un break interno, lo concludi: esempio:
var i=0
while(){
++i
if(i==10){break}
}
questo è legittimo, eppure ti dà un errore, devi includere qualcosa tra le
parentesi in questo caso, ad esempio
while(true){
++i
if(i==10){break}
}
questo non dà errori.
Per cui credimi, il modo standard di non far fare niente ad un programma nel
caso si verifichi una condizione, è di non prevederla.
ciao
TrueLies
http://www.unitedscripters.com/
-- 
Posted from  [212.141.82.124] 
