Resig's post references his env.js implementation being the first time he uses the getters and setters methodology you are looking for. The reason this style of works fine for him is because they are not being used in a browser based environment, env.js is focused primarily for server-side JS or scripting environments like Rhino.
To handle browser compatibility as well as focusing on an aspect that the Javascript does very well, use closures for your getter and setter methods to protect object properties.
for example:
foo: function(var){
var bar = val;
this.setBar: function( newBar ){
bar = newBar;
},
this.getBar: function(){
return bar;
}
}
which will result in:
var checkFoo = foo("cool!");
alert(checkFoo.getBar()); //cool!
checkFoo.setBar("nice!");
alert(checkFoo.getBar()); //nice!