потому что
var timeoutID = scope.setTimeout(function[, delay, param1, param2, ...]);
delay - не обязательный параметр
delay - Optional
The time, in milliseconds (thousandths of a second), the timer should wait before the specified function or code is executed. If this parameter is omitted, a value of 0 is used, meaning execute "immediately", or more accurately, as soon as possible. Note that in either case, the actual delay may be longer than intended; see Reasons for delays longer than specified below.
т.е. если задержка не определена, то выставляется ноль.
А про идентификатор таймера написали уже.