__etc

Код:
var x = new(function z(){
var t = this;
var private = function(){
t.pub = function(){
return 'smt changed'
};
};
this.pub = function(){
return 'public'
};
this.change = function(){
private();
return this;
}
})()
alert(x.pub()) // "private"
alert(x.change().pub()) // "smt changed"
wvxvw, придираетесь к терминологии. "при определнных обстоятельствах функция и метод не могут выполнять одну и ту же роль." пример плз.