在javascript中函数名前加括号和不加括号的区别是什么?
在24行和25行,如果变为document.all.myimy.onmouseover=img1();就不能实现所要的功能了,为什么呀?请教高手解决。谢谢!...
在24行和25行,如果变为document.all.myimy.onmouseover=img1();就不能实现所要的功能了,为什么呀?请教高手解决。谢谢!
展开
2012-06-11 · 知道合伙人互联网行家
关注
展开全部
document.all.myimy.onmouseover=img1;
这个表示onmouseover这个动作发生的时候执行img1这个方法;
document.all.myimy.onmouseover=img1();
这个标识onmouseover则个动作放生的时候执行img1()这个方法的返回值代表的方法。
总而言之,动作发生时应该触发一个方法调用,你可以直接定义方法并赋值给某个事件(动作),或者通过方法动态生成一个方法名赋值给方法。
img1()这个方法没有返回值,所以第二种方法实际上onmouseover发生的时候什么都没做。
这个表示onmouseover这个动作发生的时候执行img1这个方法;
document.all.myimy.onmouseover=img1();
这个标识onmouseover则个动作放生的时候执行img1()这个方法的返回值代表的方法。
总而言之,动作发生时应该触发一个方法调用,你可以直接定义方法并赋值给某个事件(动作),或者通过方法动态生成一个方法名赋值给方法。
img1()这个方法没有返回值,所以第二种方法实际上onmouseover发生的时候什么都没做。
展开全部
document.all.myimy.onmouseover=img1();
这个是吧img1()函数的返回值付给document.all.myimy.onmouseover
前提是你的有这个img1()的函数定义
document.all.myimy.onmouseover=img1;
的话是吧img1的值付给document.all.myimy.onmouseover
这个的前提是img1是一个变量
所以一个是函数 一个是变量 完全2个不相干的东西
这个是吧img1()函数的返回值付给document.all.myimy.onmouseover
前提是你的有这个img1()的函数定义
document.all.myimy.onmouseover=img1;
的话是吧img1的值付给document.all.myimy.onmouseover
这个的前提是img1是一个变量
所以一个是函数 一个是变量 完全2个不相干的东西
追问
但是我上面的定义中也没有定义img1这个变量呀?它执行的结果是可以在鼠标移动之后切换图片的,也就是说img1()和img2()函数里面的语句document.all.myimg.src得到了执行。可是在下面我们用的是img1这个变量,怎么理解?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询