Вам нужны парены вокруг вашей функции
var Blah2 = (function(){
this.w = function(s){Response.write(s);}
//line above gives 'Object doesn't support this property or method'
return this;
}());
Кроме того, this.w
делает не то, что вы хотите. this
на самом деле указывает на глобальный объект прямо здесь. Вы хотите:
var Blah2 = (function(){
return {w : function(s){ Response.write(s); }};
}());
Или
bar Blah2 = new (function(){
...