关于 js onload事件一次只能保存对一个函数的引用 财富值2

2016-10-27 11:31发布

在学习过程中,看到书上的例子中 onload 事件一次只能保存对一个函数的引用,它会自动用后面的函数覆盖前面的函数。
在编写列子的过程中,如果写法为:

    <script>             function one(){                 alert("one");              }             function two(){                 alert("two");             }             window.onload = one;             window.onload = two;     </script>

显示的结果确实为只弹出了two,而one被覆盖
而如果改写为

            window.onload = one();             window.onload = two();

则显示两个函数都可以弹出,依次为one,two
书中所说的引用是否就是one,与one()这两种写法的区别,应该如何理解呢?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答

因为这样写,加载到这一句就直接执行了,并不会等到onload完成。

onload 事件一次只能保存对一个函数的引用,而引用的目的是要调用,调用之后,这个函数就会被释放,成为垃圾被回收,而 window.onload = one();window.onload = two();这样是onload两次事件,引用跟调用写在一起,分别执行。

一周热门 更多>