1 问题描述 2 问题分析 因为我完全不了解这个window . onload()事件,所以我先去查看了它的定义,然后再去了解了它的作用以及用法。 3 解决方案 定义如下:window . onload是一个事件,在文档加载完成后能立即触发,并且能够为该事件注册事件处理函数。将要对对象或者模块进行操作的代码存放在处理函数中。但是貌似看这种很官方的定义更懵了,于是我又去查了一下一些大神写的博客,从window . onload的出现原因看,这个定义就能够被更好理解了。 我们都知道页面的代码顺序是从上往下进行加载,很多时候我们要对页面中的某一个模块进行操作,这时候我们就会经常使用java script代码来进行操作。为了能够保证操作的模块或对象在javascript代码之前就已经被加载了,所以我们不得不把java script代码放在页面的底端。但是我们在设计页面的时候,为了让页面更简洁整齐一点,就通常把java script代码放在一起。但是这样就很有可能出现一些代码中要操作的对象还未被加载的情况,那么我们该如何去解决呢?这时候就会用到window.onload事件了。 那么它的作用呢?其实从上面的话也能看出来了,就是为了避免需要操作的对象出现未被加载的情况。 举一个小例子可能会更容易明白: 图中情况就是因为需要对对象进行操作的时候,发现对象并未进行加载,所以导致了对象未被操作的情况。 想要解决这个问题,就是用到这个window.onload事件就行了。 然而我想,如果说事件window.onlocal是为了防止对象未被加载就执行的话,那么如果把<script>语句放到html语句后面呢? 通过实验证明,只要能够让对象在被使用前,完成加载,其实就能够得到我们想要的结果! 4 总结 所以综上所述,Js中的window.onload事件的意义其实是,让对象在被执行或者说被使用之前能够先完成加载,防止未被加载就执行,造成无操作情况的出现。 5参考文献 百度百科 CSDN博客: 《JS中window.onload事件详解》@pseudonym_ |
|