In this case 'this' is global object (window or null in strict mode ). You should use constructor ( new ... ) to create your own scope for object functions ( jsbin.com/dubuxonu/1/edit requirejs has no fault )
If you don't want constructor - save scope in variable and use it to call your methods in right context like this
(function(){
var moduleObject = {
meth1: function(){},
meth2: function(){ moduleObject.meth1() }
}
return moduleObject;
});
Here i didn't use 'this' and say directly in which object i want to call methods