乐檬mrr 2020-01-06 17:00 采纳率: 100%
浏览 313
已采纳

为什么函数调用不能直接写在事件等号后面,而要写在匿名函数里?

这样写参数程序无法运行出来

oDiv.onmouseover=startMove(0);

而这样写为什么就可以?

oDiv.onmouseover=function (){
       startMove(0);
    }
  • 写回答

3条回答 默认 最新

  • churuxu 2020-01-06 18:46
    关注

    你得搞清楚类型

    这是一个函数

    startMove;
    

    这是一个函数

    function (){
           startMove(0);
    }
    

    这是一个函数调用,不是一个函数,startMove函数返回什么类型,这就是什么类型

    startMove(0);
    

    再理一下这个语法

    xxx.onmouseover = 函数类型,  正确
    xxx.onmouseover = undefined/number/string/其他类型 ,  错误
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?