为什么prompt()会一直执行

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法

为什么放在结尾不使用window.onload()和在开头使用window.onload()都会有一直执行prompt()

我想要达到的结果

onload可以放在任何位置,页面加载完毕后onload事件中的代码都会执行啊,有什么问题,和prompt有什么关系?

放在body结束前的script代码执行时,script上面的dom对象已经生成,所以引用到dom不会出错。但是放在head标签中的script代码引用dom,由于在script后未生成,会出错。通过放到window.onload事件中确保源代码中有的dom资源已经生成,这样引用到dom才不会出错。

但是有特例,如果dom是ajax等异步生成的,放到body结束前或者window.onload中并不能保证100%获取到dom,要获取异步生成的dom,需要在异步操作结束后添加到dom容器中后再执行获取需要dom的js代码