Цитата(Vadik(R) @ 26:05:2008, 12:03 )

Хотя
]]>вот здесь]]> мне дали другой ответ
Это не правильный ответ: попробуй убрать только кавычки (скобки оставить), как там советовали и поставить немеренное время:
setTimeout(headoftable(), 1000000);
Вывод функции будет сразу после загрузки страницы. Если же убрать и кавычки, но время оставить немеренное, то работать будет как положено.
В описании функции сказано, что первый параметр может быть именем функции (это когда без кавычек и скобок), или выражение - это когда в кавычках. Но есть одно замечание по выражению -
обязательные кавычки для выражения, иначе это выражение будет вызываться немедленно.
Имя функции интерпретируется в адрес памяти, а при подставке его внутри видимости функции
data это адрес есть. Через заданный интервал функция
setTimeout просто передает управление по адресу, который был у нее параметром, и ее уже не "интересует" ее область видимости. По этой причине подправленный вариант на
spravkaweb.ru работал - имя функции интерпретировалось в ее адрес сразу, как и выражение без кавычек.
Напротив, если выражение в кавычках, то оно выполняется по истечению заданного вторым аргументом интервала, а это выражение уже является глобальным, где имя этой функции должно интерпретироваться в адрес после, но интерпретировать его в адрес нет возможности, так как функция видна только внутри функции
data.
Если опустить кавычки у выражения (по моем примеру в коде), то оно выполняется немедленно, а значит внутри функции, где
headoftable находиться в области видимости (параметр интервала игнорируется) - просто выполняется переход по адресу функции.
Так что первый ответ от
Vovochka более правильный.