在javascript中函数名前加括号和不加括号的区别是什么?

在24行和25行,如果变为document.all.myimy.onmouseover=img1();就不能实现所要的功能了,为什么呀?请教高手解决。谢谢!... 在24行和25行,如果变为document.all.myimy.onmouseover=img1();就不能实现所要的功能了,为什么呀?请教高手解决。谢谢! 展开
 我来答
程序员在思考
2012-06-11 · 知道合伙人互联网行家
程序员在思考
知道合伙人互联网行家
采纳数:347 获赞数:784
毕业于吉林大学计算机科学与技术学院,硕士学位。从事IT互联网工作12年,现任银行产品架构师、高级项目经理

向TA提问 私信TA
展开全部
document.all.myimy.onmouseover=img1;
这个表示onmouseover这个动作发生的时候执行img1这个方法;
document.all.myimy.onmouseover=img1();
这个标识onmouseover则个动作放生的时候执行img1()这个方法的返回值代表的方法。
总而言之,动作发生时应该触发一个方法调用,你可以直接定义方法并赋值给某个事件(动作),或者通过方法动态生成一个方法名赋值给方法。

img1()这个方法没有返回值,所以第二种方法实际上onmouseover发生的时候什么都没做。
没有响应m2
2012-06-11 · TA获得超过8387个赞
知道大有可为答主
回答量:7579
采纳率:33%
帮助的人:3484万
展开全部
document.all.myimy.onmouseover=img1();
这个是吧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这个变量,怎么理解?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式