box2.onmouseover=function(){ omove(0); }//为什么不能直接onmouseover等于方法名?

来源:2-1 JS速度动画

DOMOHAHA

2016-02-17 16:57

.box2.onmouseover=function(){

omove(0);

}//为什么不能直接onmouseover等于方法名?..

box2.onmouseover=omove(0);


写回答 关注

2回答

  • qq_发条橙子_0
    2016-03-08 22:17:10

    box2.onmouseover=omove; 执行这条语句的意思是box2的鼠标事件指向一个叫omove名字的function;

    box2.onmouseover=omove(0);执行这条语句的意思是box2指向的是omove运行的结果,而结果自然要运行出来才知道,omove函数就直接被调用了。于是不等鼠标over分享框就自己动起来了。

    但是omove又要接收参数,所以就把omove放在一个function里面。

  • 天真吴邪
    2016-02-17 17:55:29

    onmove()方法应该不是事件对象box2.onmouseover的成员方法,所以应该不能直接调用,面向对象的概念吧,不知道我说的对不对

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113925 学习 · 1443 问题

查看课程

相似问题