mi sono imbattuto in questa situazione:
ho una funzione
Perchè se la richiamo così: alert(prova(0));codice:function prova(x) { return (x == ''); }
ottengo true?![]()
![]()
mi sono imbattuto in questa situazione:
ho una funzione
Perchè se la richiamo così: alert(prova(0));codice:function prova(x) { return (x == ''); }
ottengo true?![]()
![]()
Pietro
(x == '')
e` un confronto, che ritorna un booleano (true o false).
Tu passi alla funzione un valore, che nella funzione viene confrontato con una stringa (vuota) e viene ritornato direttametne il valore del confronto.
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
daccordo, ma non capisco perchè se x=0, x == '' restituisca veroOriginariamente inviato da Mich_
(x == '')
e` un confronto, che ritorna un booleano (true o false).
Tu passi alla funzione un valore, che nella funzione viene confrontato con una stringa (vuota) e viene ritornato direttametne il valore del confronto.![]()
Pietro
Secondo me perche non tiene conto del tipo del valore (numerico o stringa). Prova questo
codice:<script language="JavaScript" type="text/javascript"> <!-- function prova(x) { return (x === '2'); } alert(prova(2)); alert(prova('2')); //--> </script>
Perche` 0 e` equiparato alla stringa vuota, e viceversa.
Prova a scrivere
alert(prova('0'));
vedrai che non ritorna piu` true.
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
ok, ogni linguaggio ha i suoi problemiOriginariamente inviato da Mich_
Perche` 0 e` equiparato alla stringa vuota, e viceversa.
Prova a scrivere
alert(prova('0'));
vedrai che non ritorna piu` true.:maLOL:
![]()
![]()
Pietro