javascript 的 onload事件响应

本文通过两个实例对比展示了JavaScript中onload事件的不同用法及其效果差异,解析了匿名函数与直接执行函数的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        学习javascript,跟着书上写了下onload事件的响应:

       (test 1)

        <head>

                    <script ...>

                          window.onload=function()

                           {

                                   语句...alert....

                           }

                   </script>

        </head>

       测试很顺利,然后自己又试了下:

      (test 2)

      <head>

                    <script ...>

                          window.onload= new function()

                           {

                                   语句...

                           }

                   </script>

        </head>

       结果不一样! 前者的对话框弹出时页面内容已经载入,而后者对话框弹出时页面内容未载入(前面是否是window.onload都一样)。

    

       刚学javascript,不知道其中原理,网上查了下:

      (test 1) 是匿名函数,因为只在此时调用,没必要一定要有函数名。如果显示定义,则等同于:

      (test 1等同)

     <head>

                    <script ...>

                          var fun= function() {...}

                          window.onload=fun;

                   </script>

        </head>

        这里只是指定onload事件由fun函数来响应。

       原来(test 2)不仅是函数定义,调用同样也执行了,应该是定义了函数对象的实例?等同于:

     (test 2等同)

     <head>

                    <script ...>

                          var fun= function() {...}

                          window.onload=fun();

                   </script>

        </head>

        此处加了()操作符,函数直接就执行了(因为在head中调用)!即使前面没有window.onload也一样,因此记得为onload事件关联函数不要加执行操作符。


     


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值