Még mindig a html fájlnál tartasz. A böngésző által kezelt memóriablokkokban történnek a dolgok, nem a fájlokban. A böngészőnek van egy js motorja, az fordítja a kódot, és tudja kezelni, ha egy olyan függvényt hívsz meg, ami később jön a fájlban (vagy másik fájlban van). Amikor új elemet hozol létre a scripttel, akkor is a memóriában változnak a dolgok (a DOM), nem a fájlban.