Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Как правильно поставить скобки в аргументе функци


Автор: GQU 20.7.2011, 04:58
Как точно определить, когда нужно указывать скобки при вызове, а когда нет
Тут clearInterval(id); не нужно указывать скобки, а тут setTimeout("testSetTimeOut()",3000); функцию testSetTimeOut() обязательно нужно указывать в скобках

Код

<script type="text/javascript"> 
function testSetTimeOut(){
    alert("Test");
}
setTimeout("testSetTimeOut()",3000);

var id = setInterval("testSetTimeOut()","3000");
clearInterval(id);
</script>

Автор: ayax2005 20.7.2011, 08:20
0_o какой странный вопрос. Параметры функций всегда заключаются в скобки. Может, стоит повторить основы? http://javascript.ru/function-syntax

Автор: CruorVult 20.7.2011, 10:08
Цитата(GQU @  20.7.2011,  04:58 Найти цитируемый пост)
не нужно указывать скобки

может кавычки?

Строки указываются только в кавычках
переменные и числа без(иначе воспримется как строка)

Цитата(GQU @  20.7.2011,  04:58 Найти цитируемый пост)

var id = setInterval("testSetTimeOut()","3000");
clearInterval(id);


Интересно, что вы хотите тут сделать?

Автор: baldina 20.7.2011, 11:40
Цитата(GQU @  20.7.2011,  04:58 Найти цитируемый пост)
Как точно определить, когда нужно указывать скобки при вызове, а когда нет
Тут clearInterval(id); не нужно указывать скобки, а тут setTimeout("testSetTimeOut()",3000); функцию testSetTimeOut() обязательно нужно указывать в скобках

сравните:
Код

setTimeout("testSetTimeOut()",3000);
и
Код

setTimeout(testSetTimeOut,3000);

по результату это одно и то же, но означает разное. setTimeout можно вызывать с разными типами первого параметра. если передается строка, как в первом вызове, она интерпретируется как код javascript, который будет исполняться по таймауту. если передается функция, как во втором случае, будет вызываться она. сравните еще вот это:
Код

setTimeout("f = function () { alert('Hi!'); }; f();",3000);
и
Код

setTimeout("alert('Hi!')",3000);
и
Код

setTimeout(function () { alert('Hi!'); },3000);


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)