var a = { b : { c : function(a){ return [this, a, this.d].join(':')+'\n'; }, d : this } }; alert(['1:'+a.b.c(this), '2:'+(a.b).c(this), '3:'+(a.b.c)(this)].join(''));