W HTML zewnętrzny kod JavaScript (czyli znajdujący się w osobnym pliku .js) ładuje się za pomocą elementu <script> z atrybutem src. Atrybut src wskazuje adres/ścieżkę do pliku, który przeglądarka ma pobrać i wykonać, np. <script src="skrypt.js"></script>.
Dlaczego to działa? Element <script> jest przeznaczony do osadzania skryptów: albo w formie kodu wpisanego bezpośrednio w dokumencie (inline), albo jako odwołanie do zasobu zewnętrznego przez src. W przypadku pliku zewnętrznego nie wpisuje się nazwy pliku jako treści znacznika, tylko podaje się ją w atrybucie.
Dlaczego pozostałe zapisy są błędne?
- Wariant z <script> skrypt.js </script> traktuje tekst "skrypt.js" jak kod JavaScript. To nie jest instrukcja, tylko nazwa pliku, więc przeglądarka nie pobierze pliku i nic sensownego nie wykona.
- Warianty z <link ... /> są typowe dla dołączania zasobów takich jak CSS (np. rel="stylesheet"). Dla JavaScript standardowym mechanizmem jest <script src="..."></script>, a nie rel="script" czy rel="JavaScript".
- Dodatkowo atrybuty typu type="js" nie odpowiadają poprawnej praktyce opisywania typu MIME; w nowoczesnym HTML zwykle i tak nie trzeba podawać type dla klasycznego JavaScript, o ile używa się <script> poprawnie.
Wskazówka egzaminacyjna: jeśli pytanie dotyczy "zewnętrznego pliku JS", szukaj elementu <script> oraz atrybutu src. Jeśli widzisz <link> i atrybut href, to najczęściej jest to ścieżka charakterystyczna dla CSS, nie dla skryptów.