在学习过程中,看到书上的例子中 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()这两种写法的区别,应该如何理解呢?
付费偷看金额在0.1-10元之间
因为这样写,加载到这一句就直接执行了,并不会等到
onload
完成。onload 事件一次只能保存对一个函数的引用,而引用的目的是要调用,调用之后,这个函数就会被释放,成为垃圾被回收,而 window.onload = one();window.onload = two();这样是onload两次事件,引用跟调用写在一起,分别执行。
一周热门 更多>