В следующем коде функция writeMessage вызывается без скобок.
На самом деле это не так.Код
window.onload = writeMessage;
не вызывает функцию.Он назначает функцию свойству onload
window
.Частью процесса загрузки страницы в браузерах является запуск функции, назначенной этому свойству (если есть), после завершения процесса загрузки.
Если вы написали
window.onload = writeMessage();
то, что вынужно будет позвонить writeMessage
и присвоить результат вызова window.onload
, так же как x = foo();
.
Обратите внимание, что код, который вы на самом делеКавычка, которая выполняет document.write
при загрузке страницы, уничтожит только что загруженную страницу и заменит ее текстом «Hello world», потому что когда вы вызываете document.write
после завершения загрузки страницы, это подразумевает document.open
, который очищает страницу.(Попробуйте здесь ; исходный код здесь .) В современных веб-страницах и приложениях вы почти никогда не используете document.write
, но в редких случаях, когда вы это делаете, оно должно быть вкод, который запускается при загрузке страницы (например, не позднее).