Ich bin bisher davon ausgegangen, dass die Reihenfolge unerheblich sei, da im ersten Schritt das gesamte Skript "geparsed"* wird und erst anschließend Funktionsaufrufe stattfinden.
Das Parsing passiert immer am Anfang, dann hat man den Syntaxbaum und dann wird das Script ausgeführt.
Bei der Ausführung eines Kontextes werden jedoch Funktionsdeklarationen und Variablendeklarationen zuerst ausgewertet.
Kannst Du mir da bitte Schlagworte oder Links nennen, so dass ich mich noch mal zu dem Thema informieren kann.
Hoisting von Function Declarations
http://molily.de/javascript-core/
http://dmitrysoshnikov.com/ecmascript/chapter-2-variable-object/
http://dmitrysoshnikov.com/notes/note-4-two-words-about-hoisting/
http://bonsaiden.github.com/JavaScript-Garden/#function.scopes
http://javascriptweblog.wordpress.com/2010/07/06/function-declarations-vs-function-expressions/
http://es5.github.com/#x10.2
Mathias