Вы должны передать ссылку на функцию, а не результат выполнения alert()
следующим образом:
function myfunction() {
window.setTimeout(function() {alert('I waited for you.')},700000000);
}
Когда вы передаете alert('I waited for you.')
в setTimeout()
, вы говорите интерпретатору javascriptвыполнить alert('I waited for you.')
и затем передать возвращаемый результат в setTimeout()
.Поскольку это немедленно выполняет оператор alert()
, а оповещение не возвращает функцию для использования setTimeout()
, это явно не то, что вам нужно.
Вместо этого вы хотите передать ссылку на функцию в setTimeout()
.Это можно сделать либо с помощью анонимной функции, как в примере, который я предоставил выше, либо с помощью отдельной именованной функции, например:
function myAlert() {
alert('I waited for you.');
}
function myfunction() {
window.setTimeout(myAlert, 700000000);
}
Примечание: для более сложного использования вы можете фактически передатьнемедленно выполняемая функция до setTimeout()
, пока эта функция возвращает ссылку на функцию, которую setTimeout()
может вызвать позже.Но это явно не тот случай, когда вы пытаетесь здесь использовать alert()