quando scrivo
document.mioForm.mioInputext.value
ognuno degli elementi (document, mioForm ecc.) è allo stesso tempo oggetto e proprieta' dell'oggetto + alto di lui??
quando scrivo
document.mioForm.mioInputext.value
ognuno degli elementi (document, mioForm ecc.) è allo stesso tempo oggetto e proprieta' dell'oggetto + alto di lui??
sono proprietà, dopo che siano oggetti e secondario, anche una funzione può essere proprietà di un'oggetto (in quel caso si chiama metodo).
ciauz
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?
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.
il discorso è chiaro ma perchè solo document e mioform sono oggetti enon anche mioInputtext?
no anzi, hai fatto benissimo!Originariamente inviato da nosferatu_net
Spero di non essere stato troppo tecnico... a volte mi scappa.
anche mioInputtext è un'oggetto (lo puoi capire dal fatto che anche questo ha delle proprietà, ad es. value).il discorso è chiaro ma perchè solo document e mioform sono oggetti enon anche mioInputtext?