JavaScript: Передача не только функции, а всего объекта с его свойствами?
Вам нужно зафиксировать контекст выполнения некоторой функции. Это делается с помощью Function.prototype.bind из ES5. Полифиллы есть в underscore.js и jQuery — _.bind и $.proxy соответственно.
В JS нет классов, а this — это не ссылка на объект, а контекст выполнения. Можно использовать замыкания, если нужны какие-то свойства внутри объектов, например так:
function foo(param){
    var a = param;
    this.getA = function(){
        return a;
    };
    this.setA = function(p){
        a = p;
    };
}
var f = new foo(123);
g = f.getA();
console.log(g());
