Полагаю, это зависит от объема.Насколько я знаю, можно (пере) определить self
в объекте или даже в глобальной области видимости, поэтому в этом случае self.location
ничего не будет указывать.Вот так:
//[in global scope]
var self = new SomeObject;
alert(self.loction); //undefined
//in a constructor
function SomeObject(){
var self = this;
alert(self.location); //undefined
}
Итог кажется: не слепо зависите от наличия self
в качестве псевдонима для document