Pytanie 1
Wypisanie tekstu w języku JavaScript nie jest możliwe przy użyciu
Właściwość innerHTML należy do elementów DOM i służy do modyfikowania ich zawartości HTML. Przykład:
const div = document.getElementById('wynik');
div.innerHTML = 'Witaj w <b>JavaScript</b>';
To jest typowy, zgodny ze standardami sposób dynamicznej zmiany treści na stronie. W praktyce używa się go bardzo często, choć moim zdaniem lepiej w prostych przypadkach stosować textContent, bo jest bezpieczniejsze (nie interpretuje HTML-a, więc mniejsze ryzyko XSS).
Metoda window.alert() jest wbudowaną funkcją interfejsu przeglądarki. Wyświetla prosty modalny komunikat z przyciskiem OK. Przykład:
alert('Komunikat dla użytkownika');
W wielu poradnikach to pierwszy sposób „wypisania” czegokolwiek, bo od razu widać efekt. W profesjonalnych aplikacjach używa się go rzadko, raczej do szybkiego debugowania, bo blokuje interakcję z użytkownikiem.
Metoda document.write() pozwala wpisać tekst bezpośrednio do strumienia dokumentu HTML podczas jego ładowania:
document.write('Hello world');
Historycznie było to popularne, ale w nowoczesnych projektach uważa się to za złą praktykę. Po załadowaniu strony document.write() może nadpisać cały dokument, co jest mocno niepożądane. Lepszym standardem jest manipulacja DOM (np. innerHTML, createElement, appendChild).
Natomiast MessageBox() kojarzy się z funkcjami z innych środowisk (np. WinAPI, C#, VBA), ale w JavaScripcie w przeglądarce taka funkcja nie jest zdefiniowana w żadnym oficjalnym standardzie. Jeśli ktoś jej użyje bez własnej definicji, skończy się to błędem „MessageBox is not defined”. Dlatego właśnie ta odpowiedź jest poprawna – nie da się w czystym, standardowym JS wypisać tekstu przy użyciu funkcji MessageBox(), chyba że samemu ją wcześniej napiszemy, ale to już zupełnie inna historia.


