(function(obj){
$.each(Templates.inputs, function(key, value){
obj.elementsKey.push(key);
obj.elementsValueType.push(value.type);
});
}(this));
why is this (this)) used after function? And What does obj does when used as parameter