That's correct, but the optional args parameter isn't supported in IE. So if you want to use setTimeout or setInterval to call a function with arguments you have to do it as an anonymous function with your function call inside.
You're right though that milliseconds should be the second argument, not the first.
Yes my mistake. milliseconds is the first argument. I just copied the function text verbatim. My real point was that you don't need to use apply in this context,, as the author implied.
can actually just be: setTimeout(30, function() { myHotDog.getCondiments(); });
apply is definitely useful but it just makes the code more verbose in this case.