Javascript 为什么可以';我不能直接分配一个函数吗?
此代码调用Javascript 为什么可以';我不能直接分配一个函数吗?,javascript,javascript-events,Javascript,Javascript Events,此代码调用f()函数: <p id="firstp">Hello!</p> <script> function f() { doSomething(); }; document.getElementById("firstp").onmouseover = function() { f(); }; </script> 当我直接调用函数时,为什么不设置事件处理程序?因为您不想调用函数,所以您只想告诉浏览器,它应该
f()
函数:
<p id="firstp">Hello!</p>
<script>
function f() {
doSomething();
};
document.getElementById("firstp").onmouseover = function() {
f();
};
</script>
当我直接调用函数时,为什么不设置事件处理程序?因为您不想调用函数,所以您只想告诉浏览器,它应该在mouseover事件发生时调用它
f()
(函数名后的圆括号)调用函数并将其分配给.onmouseover
函数返回的内容。您希望将对f
的引用分配给.onmouseover
,因此您要查找的是
document.getElementById("firstp").onmouseover = f;
因为您不想调用该函数,所以您只想告诉浏览器,当鼠标悬停事件发生时,它应该调用该函数
f()
(函数名后的圆括号)调用函数并将其分配给.onmouseover
函数返回的内容。您希望将对f
的引用分配给.onmouseover
,因此您要查找的是
document.getElementById("firstp").onmouseover = f;