javascript - 关于 js onload事件一次只能保存对一个函数的引用

查看:59
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆