Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Significato determinate istruzioni condizionale

    Ciao a tutti
    Sul mio libro di javascript ci sono, in alcuni punti, delle istruzioni condizionali strane..ad esempio alcune condizioni senza l'operatore logico. Che condizioni sono allora?
    Ad esempio if(document.getElementById || document.getElementByTagName) oppure if(images[i].id.match(roll)) cioè insomma delle istruzioni condizionali senza operatori. Cosa significano? Ad esempio la prima istruzione condizionale che ho riportato qui sopra, quand'è che è vera e quando è falsa se non possiede operatori logici?

    Grazie mille a tutti e scusate per le confusione

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    1) || è un operatore logico.

    2) images[i].id.match(roll) è una chiamata a funzione .match() su una stringa (images[i].id) di un elemento di un array o collection (images[i]) che restituisce un risultato che può essere trattato come booleano
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Si ma quand'è ad esempio che if(document.getElementById || document.getElementByTagName) è vero e quando è falso?

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660


    mi sa che non stai leggendo il libro attentamente mi sembra impossibile che non spieghi quali sono gli operatori logici e come funzionano.

    if(document.getElementById || document.getElementByTagName)
    operatori logici

    Nel secondo esempio invece viene utilizzata una funzione per confrontare le due variabili

    match method

  5. #5
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Originariamente inviato da marco476
    Si ma quand'è ad esempio che if(document.getElementById || document.getElementByTagName) è vero e quando è falso?
    essendo un OR la condizione è vero quando almeno uno tra document.getElementById e document.getElementByTagName risulta essere vero (in questo caso quando non è undefined)

    nota che nel caso dell'OR quando la prima delle condizioni è vera, le successive non vengono valutate.
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  6. #6
    E quando risulta undefined in questo caso?
    Scusatemi, so che con me ci vuole tanta pazienza xD ma potete proprio leggermi quando questa condizione è vera e quando è falsa?
    if(document.getElementById || document.getElementByTagName)
    E' vera quando è stato o prelevato un elemento tramite un id o tramite il tagname di appartenenza? Non capisco..

  7. #7
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Originariamente inviato da marco476
    E quando risulta undefined in questo caso?
    Scusatemi, so che con me ci vuole tanta pazienza xD ma potete proprio leggermi quando questa condizione è vera e quando è falsa?
    Originariamente inviato da fcaldera
    essendo un OR la condizione è vero quando almeno uno tra document.getElementById e document.getElementByTagName risulta essere vero

    getElementById e getElementByTagName sono metodi dell'oggetto document

    quindi se esistono e vengono usate in una condizione booleana risultano VERE altrimenti se non esistono, sono nulle, o sono state sovrascritte da qualcuno in un momento di noia acuta in modo tale da risultare false (ad es document.getElementById = 0 , document.getElementById = false, document.getElementById = '', ...) allora ritornano FALSE.
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  8. #8
    Non capisco la loro utilità..se io scrivo if(document.getElementById) lo scrivo perchè so che esiste, mentre invece come fa a non esistere? Scusate la confusione solo che vorrei vederci chiaro..

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    se io scrivo if(document.getElementById) lo scrivo perchè so che esiste
    e dove sta scritto?

    mentre invece come fa a non esistere?
    sono nulle, o sono state sovrascritte da qualcuno in un momento di noia acuta in modo tale da risultare false (ad es document.getElementById = 0 , document.getElementById = false, document.getElementById = '', ...) allora ritornano FALSE
    continui a fare sempre le stesse domande di cui hai già avuto la risposta, se non capisci questi concetti basilari l'unica soluzione è metterti a studiare seriamente non solo javascript ma la logica di programmazione altrimenti lascia perdere, non è per scoraggiarti ma questo è un forum, non si insegna come programmare in javascript ma si aiuta per problemi specifici.
    Buona fortuna...

  10. #10
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Originariamente inviato da marco476
    Non capisco la loro utilità..se io scrivo if(document.getElementById) lo scrivo perchè so che esiste
    ma se lo sai allora a che ti serve controllarne l'esistenza nell'if?



    che tutti i browser da 10 anni a questa parte abbiano quel metodo non significa che un utente non possa eseguire quello script in browser obsoleti quanto Explorer2 o Netscape versione -1.7.12 che magari quel metodo non ce l'hanno

    Quindi a puro scopo precuazionale viene controllata l'esistenza del metodo altrimenti in alcuni browser (ormai estinti) il suo uso provocherebbe un errore dell'interprete javascript

    Senza contare che - volendo - un codice js potrebbe essere eseguito anche al di fuori del contesto di un browser, dove window o navigator o document sono oggetti non definiti.
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

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 © 2026 vBulletin Solutions, Inc. All rights reserved.