при использовании шаблона модуля в js я заметил, что основными преимуществами являются частные члены и не загромождают глобальное пространство имен, но я хотел бы знать следующее:
(function(){
//some code...
})();
так же, как это:
window.onload = function(){
//some code...
}
они оба предоставляют приватных членов и не загромождают глобальное пространство имен. Единственное различие, которое я вижу, состоит в том, что если оба манипулируют элементами DOM, второй можно вызывать в любом месте документа (из-за document.onload), в то время как первый должен называться эфиром в нижней части узла тела или сразу после закрытие узла тела.
Есть ли какие-то другие различия между двумя, которые я могу пропустить?