重複の可能性:
JavaScript変数がドル記号で始まるのはなぜですか?
$scopeと$deferが何であるかはわかりませんが、機能しているようです。
function xyz($scope, $defer) {
xyz = this;
this.defer = $defer;
this.scope = $scope;
this.scope.test = function(re) {
console.log(this,arguments);
}
}