qual è il significato della seguente definizione? [chiuso]

0

Sono nuovo di javascript e inizio ad imparare dal sito w3schools. Non sono in grado di capire cosa significa la seguente riga. Qualcuno può spiegare questo con esempio?

You can only use document.write in the HTML output. If you use it after the document has loaded (e.g. in a function), the whole document will be overwritten.

    
posta user2809576 31.10.2013 - 07:20
fonte

1 risposta

7

Ci sono due momenti in cui JavaScript può essere eseguito:

  • Quando il browser sta analizzando HTML. Esempio:

    ...
    <div>
        alert('Hello World!');
    </div>
    
  • Quando la pagina è già analizzata e mostrata. Esempio:

    ...
    <a href="onlick:alert('Hello World!');">Click me please</a>
    

document.write() ha un comportamento diverso per questi due casi. Nel primo, inserirà semplicemente il contenuto all'interno dell'HTML. Nel secondo caso, sostituirà l'intera pagina.

Esempio:

...
<div>
    <script type="text/javascript">
    document.write('Hello World!');
    </script>
</div>

produce:

...
<div>
    Hello World!
</div>

, mentre

...
<div>
    <a href="onlick:document.write('Hello World!');">Click me please</a>
</div>

produce:

Hello World!

Nota anche che:

  • L'affermazione che hai citato non è corretta, come spesso accade con w3schools (se vuoi una documentazione di alta qualità, usa ad esempio un spiegazione simile su Mozilla Developer Network. L'errato è che la citazione parla di funzioni, che non ha nulla a che fare con il soggetto reale. L'esempio di MDN mostra molto bene perché la citazione è sbagliata.

  • document.write() è, tra le altre caratteristiche come alert() , non molto utile e molto raramente usato nei siti reali . Se desideri modificare il contenuto di una parte di una pagina, preferisci utilizzare la proprietà innerHTML .

  • non dovresti usare w3schools, come indicato nel commento sopra.

risposta data 31.10.2013 - 08:46
fonte

Leggi altre domande sui tag