javascript - 关于 js onload事件一次只能保存对一个函数的引用
本文介绍了javascript - 关于 js onload事件一次只能保存对一个函数的引用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
在学习过程中,看到书上的例子中 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()这两种写法的区别,应该如何理解呢?
解决方案
// tips:
// (1)赋值表达式的结合性:从右到左。
// (2)JavaScript的函数如果加上一堆小括号,亦即(),就表示立即执行该函数。
// 其实,下面是两个赋值表达式,每个表达式都是将一个函数执行的结果赋值给window.onload。
// 你看到了,函数one和函数two被执行了,是因为你在赋值时,执行了函数one和函数two,然后将将函数的返
// 回值赋值给window.onload。
// your code
window.onload = one();
window.onload = two();
这篇关于javascript - 关于 js onload事件一次只能保存对一个函数的引用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文