1. document.readystate = interactive
  2. document.DOMContentLoaded
  3. document.readystate = complete
  4. window.load

Adding the event listeners

window.addEventListener('load',
    e => console.log('window.load'))
document.addEventListener('readystatechange',
    e => console.log(`document.readystate = ${document.readyState}`))
document.addEventListener('DOMContentLoaded',
    e => console.log('document.DOMContentLoaded'))

Reference

Document: DOMContentLoaded event - Web APIs | MDN - developer.mozilla.org