Я лично использую that
, но все остальное, что понятно, прекрасно.
Я бы не стал использовать self
, потому что глобальная переменная / window
-property self
уже существует какссылка на window
.Хотя он абсолютно бесполезен (так что никто не будет заботиться о том, что вы его скрываете), он немного увеличивает риск того, что глупые ошибки останутся незамеченными:
var se1f= this; // misspelled (perniciously). or maybe you just forgot to write line
onclick= function() {
self.foo= 1; // whoops, just wrote to `window`!
};
, тогда как:
var that= this;
onclick= function() {
that.foo= 1; // error thrown
};
Слегка надуманный, но JavaScript настолько неаккуратный, позволяющий ошибкам скользить, и вы больше не хотите этого делать.