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.