OrmaJever пишет:funct1();
funct2(); // неопределёная функция
function funct1() { alert('funct1'); }
var funct2 = function () { alert('funct2'); }
// а вот зделсь уже будут обе функции.
//funct1();
//funct2();
Интересно, при том, что funct1 по сути та же переменная и можно любое значение ей присвоить, а ведут себя по-разному. Получается, что интерпретатор js сначала анализирует весь скрипт и уж только потом приступает к выполнению строчка за строчкой? Просто раньше я читал, что выполнение js идет строка за строкой. Но выполнение строки за строкой будет не возможно т.к. вызывая ф-цию, которая еще не определена и она отрабатывает - без предварительного анализа документа это невозможно. Либо просто дойдя до вызова ф-ции интерпретатор анализирует весь блок(все, что внутри фигурных скобок{}) и, если находит объявление, то вызывается ф-цию. (Отредактировано автором: 11 Апреля, 2012 - 07:17:49)
|