I suppose it depends on the scope. As far as I know, you can (re) define selfin an object or even in a global scope, so in this case self.locationit will not indicate anything. Like this:
var self = new SomeObject;
alert(self.loction);
function SomeObject(){
var self = this;
alert(self.location);
}
: self document