Передача аргумента setTimeOut - PullRequest
2 голосов
/ 31 декабря 2011

В JavaScript я хочу использовать функцию setTimeOut() следующим образом

<script>    
var id=12;

setTimeOut("showGrid('i want to pass variable id here')",5000);

</script>

Ответы [ 2 ]

3 голосов
/ 31 декабря 2011

Лучший способ сделать это - передать анонимную функцию в setTimeout. Эта анонимная функция сможет получить доступ к id

setTimeout(function() { showGrid(id); }, 5000);

Передача строки в setTimeout (вместо функции) обычно считается злой, поскольку строка будет eval 'd, и ее следует избегать.

Также обратите внимание, что в вашем коде была небольшая опечатка: функция setTimeout, а не setTimeOut (обратите внимание на нижний регистр o)

EDIT

Исходя из вашего комментария, код будет выглядеть так:

setTimeout(function() { document.getElementById().inerHTML = data; }, 500);

кроме, конечно, вам нужно передать какой-то идентификатор в document.getElementById

2 голосов
/ 12 декабря 2017

Если вы хотите использовать параметры, попробуйте этот пример:

var x = "OK";
setTimeout(alertOK.bind(null,x), 3000);
x = "Would be WRONG";
console.log("before timeout:", x);

function alertOK(x){
	console.log("after timeout:",x);
}

Также работает в цикле (когда создание функций не рекомендуется).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...