| 
		
			Сообщение от Gertasreg
			
		
	 | 
	| 
		А когда я впервые просматривал книгу по js там было написано что нужно чтобы функция была выше чем обращение к ней
	 | 
	
Есть два вида функций:
функция-объявление:
function fn() {}
 и функция-выражение:
var fn = function() {}
В первом случае расположение не имеет значения. Во втором конечно же переменная должна быть объявлена 
перед использованием.
	
	| 
		
			Сообщение от Gertasreg
			
		
	 | 
	| 
		если прописать ее в томже файле где она была создана?
	 | 
	
Я такого не говорил. Если функция объявлена глобально, то вызвать ее можно из любого файла. Но если функция находится внутри другой функции, то она "невидима":
function abc() {
    function fn() {}
}
fn() // Ошибка!
function fn() {}
function abc() {
    fn() // ОК! 
}
function abc() {
    function fn() {}
    fn() // ОК! 
}
Впрочем тут та же логика что и с переменными.