Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    confronti strani con javascript

    mi sono imbattuto in questa situazione:

    ho una funzione
    codice:
    function prova(x)
    {
    	return (x == '');
    }
    Perchè se la richiamo così: alert(prova(0));
    ottengo true?

    Pietro

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    (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

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente 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.
    daccordo, ma non capisco perchè se x=0, x == '' restituisca vero
    Pietro

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    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>

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    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

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da Mich_
    Perche` 0 e` equiparato alla stringa vuota, e viceversa.

    Prova a scrivere
    alert(prova('0'));
    vedrai che non ritorna piu` true.
    ok, ogni linguaggio ha i suoi problemi :maLOL:

    Pietro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.