【发布时间】:2021-03-09 22:22:20
【问题描述】:
为什么当你这样做时:
var foo = document.getElementById("foo");
foo.addEventListener("keydown", foo);
function foo(e){
console.log(e.keyCode);
}
为什么你不需要这个:
var foo = document.getElementById("foo");
foo.addEventListener("keydown", foo(e));
function foo(e){
console.log(e.keyCode);
}
但在某些情况下,如果你通过参数传递一些东西,你会这样做:
var foo = document.getElementById("foo");
foo.addEventListener("keydown", foo("Hello, world!"));
function foo(e){
console.log(e);
}
为什么为什么为什么!!!
【问题讨论】:
-
您需要为函数和 DOM 元素使用不同的变量名。函数(对象)与调用函数获得的返回值之间存在巨大差异。完全无关。您提供的代码块中存在错误。
-
这不是对函数的调用,这是一个引用了监听函数的参数
标签: javascript parameters