#javascript
#javascript
Вопрос:
Скажем, есть функция
function init(){
alert ('hello there')
}
window.onload = init;
Вот почему это не так, init()
но init
когда мы на самом деле вызываем init
функцию при загрузке страницы
Комментарии:
1.
init()
означает «вызвать функцию прямо сейчас».init
означает «это функция, о которой я говорю». Это довольно простой синтаксис / семантика JavaScript, поэтому вы можете рассмотреть возможность прохождения некоторых вводных руководств.2. Имейте в виду, что мы не вызываем функцию во время
window.onload = init;
выполнения. Что это делает, так это передает ссылку на функцию браузеру, чтобы браузер выполнил ее за вас.3. спасибо Pointy и Дереку
Ответ №1:
В последней строке вы фактически присваиваете объект функции «init» элементу «onload» объекта «window».
Когда страница завершает загрузку, браузер пытается выполнить любое значение, сохраненное в элементе «onload» объекта window. Предполагается, что это будет функция. Ваш код определяет функцию с именем «init» с заданным поведением выдачи предупреждающего сообщения. Затем он назначает эту функцию функцией «onload», которую браузер вызывает при загрузке страницы.
Если бы вы хотели выполнить функцию «init» самостоятельно, вы бы использовали синтаксис «init();».