2013-06-21 7 views
10

Sto cercando di capire la differenza tra gli oggetti finestra e documento in js. Ho controllato online, ma non ho ancora una chiara comprensione. Da quello che so: la finestra è come un super documento, include l'oggetto documento. Quindi, se uso firefox per aprire una pagina: localhost/test.js, posso dire il browser: firefox è l'oggetto finestra e il file test.js è l'oggetto documento?cercando di capire la differenza tra gli oggetti finestra e documento in js

+2

http://stackoverflow.com/questions/9895202/what-is-the-difference-between-window-screen-and-document-in-javascript –

risposta

20

Una spiegazione molto dettagliata: Read here finestra

Fondamentalmente è la finestra del browser e il documento è la pagina HTML al suo interno. enter image description here

3

JavaScript eseguito nel browser ha Finestra come livello superiore. Ciò significa che le variabili globali diventeranno proprietà della finestra:

// this code is not inside a function 
var global1=22; 
function test(){ 
    var local=88; 
    window.global2=99; 
    console.log(local);//logs 88 because 
    // local is available within the body 
    // of this function 
    console.log(global1);//logs 22 
} 
console.log(typeof local);//logs undefined becaue were 
    // outside the funciton body 
test(); 
console.log(global2);//logs 99 because we added 
    // global2 as a property of window 

Così finestra conterrà tutti gli oggetti globali, questo significa che: parseInt fa lo stesso come window.parseInt.

finestra stessa contiene anche così:

window===window.window.window;//is true 

finestra non avere un getElementById, i bambini, childNodes ... funciton perché finestra non è un elemento HTML e il documento è.

1

Le applicazioni JavaScript hanno un contesto, un ambito in cui sono definiti i valori. L'oggetto "root" o "globale" nel caso di un browser è window.

L'oggetto window ha una proprietà (una variabile) denominata document che memorizza una rappresentazione del documento. Il documento contiene una rappresentazione del modello del documento attualmente caricato (ad esempio title, anchors, ecc.). L'oggetto window rappresenta la finestra del browser in cui viene visualizzato il documento.

Inoltre, se in uno script che non è in una funzione di definire qualcosa come:

var x = 10; 

Davvero quello che hai fatto è definire una variabile nell'oggetto globale. Nel caso del browser questo sarà in window.

Così window.x avrà il valore di 10.

29

Il window object rappresenta il contesto di navigazione corrente. Contiene elementi come window.location, window.history, window.screen, window.status o window.document. Inoltre, ha informazioni sull'impostazione inquadratura (i frames, parent, top, self proprietà), e tiene interfacce importanti come applicationCache, XMLHttpRequest, setTimeout, escape, console o localStorage. Ultimo ma non meno importante, agisce come ambito globale per JavaScript, cioè tutte le variabili globali ne sono proprietà.

Al contrario, lo (window.) document object rappresenta il DOM attualmente caricato nel window - è solo una parte di esso.Un documento contiene informazioni come lo documentElement (di solito <html>), la raccolta forms, la stringa cookie, il suo location o il suo readyState. Implementa anche un'interfaccia diversa (potrebbero esserci più Documents, ad esempio un documento XML ottenuto tramite ajax), con metodi come getElementById o addEventListener.

Problemi correlati