浅析window.onscroll=move以及window.onscroll=move()的区别

本文通过实例分析了JavaScript中window.onscroll=move与window.onscroll=move()的区别,主要涉及事件处理函数的赋值方式以及执行情况。通过对比,解释了带括号与不带括号在事件绑定时的不同效果,以及如何正确理解和使用onscroll事件。

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

事件 =带括号的函数 是获取return值 ,事件 =不带括号的函数 是将函数本身赋给事件,事件="函数带括号" 是执行函数

 

看过这个例子后再看下面说明
首先
var moveValue=move();  这里我们定义了变量 并把 move()赋值给了变量, 那么moveValue得到的值则是 move()函数执行后返回 的retrun值.
接着
window.onscroll=move; 我要先明白一点 var move=function(){函数内容} 与 function move(){函数内容} 是等价的 也就是说 变量 move 就是 函数 自身.那么我们再 window.onscroll=move 就明白了, 我们是将"函数自身"赋给了 window事件 onscroll;也就是说
onscroll 代表 funtion move(){函数内容} 而不是 该函数返回的值;
最后
onClick="showMove()" 这里是 事件执行函数,事件不等于函数也不等于函数的retrun值,他只是当事件触发时 执行某个函数.

通过比较就很容易理解3者之间的区别了,事件 =带括号的函数 是获取return值 ,事件 =不带括号的函数 是将函数本身赋给事件,事件="函数带括号" 是执行函数
还有重要的一点 onClick="showMove" 是HTML的事件机制 而 var moveValue=mone() 还有 window.onscroll=move 是javscript 分清这两点就更好区分之间的区别了.

 

参考:http://www.zhaowenlong.com/post/2010/09/2.html

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值