В чем разница между сценарием, вызываемым обработчиком события DOMContentLoaded, и сценарием, вызываемым в конце тела?