这种写法为什么会报错?

h123hu 2012-04-03 01:54:40

function attEvent(obj,ev,fn)
{
if(obj.addEventListener)
{
obj.addEventListener(ev,fn,false);
}
else if(obj.attachEvent)
{
obj.attachEvent('on'+ev,fn); //导致这里报错
}
}

function throttle()
{

}

attEvent(window,'scroll',function(){});//IE6下正常
attEvent(window,'scroll',throttle());//IE6下,导致上面报错,类型不匹


求指点.............
...全文
116 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
hch126163 2012-04-03
  • 打赏
  • 举报
回复
attEvent(window,'scroll',function(){});//IE6下正常
attEvent(window,'scroll',throttle);

加括号是执行函数,

绑定的是 throttle 函数的返回值。

throttle 函数 中 return function(){}; 就可以那样写

没return , 返回值是 undefined ,当然报错

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧