Функция в функции 
		
		
		
		
window.onload = function(){
var x = new func1('k')
здесь нужно вызвать функцию func2 () // появится сообщение alert('k')
}
function func1(e) {
	var Myvar = e;
	function func2 (){
		alert(Myvar)
	}
}
 | 
	
		
 
var x = new func1('k');
x.func2(); // появится сообщение alert('k')
var y = new func1('l');
y.func2(); // появится сообщение alert('l')
function func1(e) {
	return {
		func2 : function(){
			alert(e);
		}
	}
}
 | 
	
		
 А если мне нужно функцию func2() вызвать внутри функции func1(), а так она не вызывается.  
	Пробовал так - не работает 
var x = new func1('k');
//x.func2(); 
 
function func1(e) {
	function func2(){
            alert(e);
    } 
	
    return {
        func2 : func2()
        }
}
 | 
	
		
 Объясните мне кто нибудь что значит приведённая строка внизу, учитывая что func2()  это alert(e)  
	
return { func2 : func2() }
 | 
	
		
 Кажется разобрался: 
	
var x = new func1('k');
//x.func2();
function func1(e) {
    function func2(){
            alert(e);
    }
    return {
        func2 : func2
    }
}
 | 
	
		
 Хорошо, что значит  тогда это: 
	
return { func2 : func2 }
Какого результата вы добиваетесь этим? Я реально не в теме.  | 
	
		
 с помощью функции x.func2(); я могу вызвать функцию func2();, находящуюся в функции func1(), независимо от её расположения. 
	Хотя я честно говоря сам не понимаю, как это работает: 'return { func2 : func2 }'  | 
	
		
 //(расположения x.func2();) 
	 | 
	
		
 Ну я понимаю, что вы просто экспериментируете. А если просто поставить return, вы вызвать внутреннюю функцию не сможете? 
	
var x = new func1('k');
//x.func2();
//x.func3();
//x.func4();
function func1(e) {
    function func2(){
            alert("func2" + e);
    }
    function func3(){
            alert("func3" + e);
    }
    function func4(){
            alert("func4" +e);
    }
    return;
}
 | 
	
		
 ну а если мне нужно, скажем, вызвать только одну из этих функций 
	 | 
| Часовой пояс GMT +3, время: 03:11. |