Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    domanda labirinto sugli oggetti javascript

    quando scrivo
    document.mioForm.mioInputext.value

    ognuno degli elementi (document, mioForm ecc.) è allo stesso tempo oggetto e proprieta' dell'oggetto + alto di lui??

  2. #2
    è troppo labirinto?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    633
    sono proprietà, dopo che siano oggetti e secondario, anche una funzione può essere proprietà di un'oggetto (in quel caso si chiama metodo).
    ciauz
    Alcuni miei articoli in PRO.HTML.IT: JavaScript | DHTML | DOM
    Sviluppo : wedev | forum

  4. #4
    ma in quel momento rappresentano solo proprietà o anche oggetti??
    document è una proprietà ma anche l'oggetto a cui si appoggia la proprietà mioForm , no?

  5. #5
    nosferatu_net
    Guest
    Secondo me c'è un po' di confusione nell'aria.
    Vediamo se riesco a chiarire.

    In genere, e sottolineo in genere, si parla di:
    - metodo per definire un oggetto di classe "Function"
    - proprietà per definire una primitiva (stringa, numero, booleana, etc.)
    - oggetto per definire qualsiasi altra istanza di classe

    Poi il fatto che "pippo" rientri in uno di questi 3 casi è del tutto arbitrario.
    Di sicuro allo stesso livello non possono esistere omonimie.
    Ad esempio se in document hai già definito una "function pippo" puoi scordarti di dichiarare "var pippo".

    In genere, però, per estensione e praticità di linguaggio, sentirai parlare di proprietà per definire un generico puntatore, a prescindere da cosa contiene.
    JS infatti è un linguaggio non tipizzato, quindi possiamo cambiare "behaviour" ad una variabile semplicemente assegnandole ciò che vogliamo: la var passerà automaticamente da primitiva ad oggetto a metodo.

    All'atto pratico, nell'esempio che hai fatto tu, ci sono diciamo 2 oggetti: document e mioForm.

    Sono due oggetti distinti, però all'interno dell'oggetto document è stata sistemata una proprietà, un puntatore, che si chiama "mioForm" contenente l'indirizzo esadecimale (uh!uh!) della locazione di memoria del tuo "mioForm".
    Nessuno ti vieta di scrivere cose tipo:
    document.mioForm = "ciao a tutti";
    ...proprio perché JS è stipizzato (vedi sopra).

    Il cosiddetto Document Object Model (DOM), per quanto ne so io, è proprio un modo gerarchico standard per facilitare il ritrovamento di tutto quanto fa pagina, che altrimenti sarebbe un'accozzaglia di oggetti di ogni tipo.
    Invece così document.mioForm conterrà solo le cose che gli sono pertinenti, ma all'atto teorico parliamo sempre di una "collezione" di puntatori a locazioni di memoria.

    Spero di non essere stato troppo tecnico... a volte mi scappa.

  6. #6
    il discorso è chiaro ma perchè solo document e mioform sono oggetti enon anche mioInputtext?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    633
    Originariamente inviato da nosferatu_net
    Spero di non essere stato troppo tecnico... a volte mi scappa.
    no anzi, hai fatto benissimo!

    il discorso è chiaro ma perchè solo document e mioform sono oggetti enon anche mioInputtext?
    anche mioInputtext è un'oggetto (lo puoi capire dal fatto che anche questo ha delle proprietà, ad es. value).
    Alcuni miei articoli in PRO.HTML.IT: JavaScript | DHTML | DOM
    Sviluppo : wedev | forum

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