Выполнение этой программы происходит примерно так: при вызове функции greet управление переходит к началу данной функции (строка 2). Она, в свою очередь, вызывает функцию console.log, которая берет управление на себя, выполняет свою работу, а затем возвращает управление в строку 2. Там функция greet заканчивается, поэтому управление возвращается к месту, откуда она была вызвана, — к строке 4. В следующей строке снова вызывается console.log, после чего программа заканчивается.