JavaScript中的函数名称

Joh*_*nny 5 javascript function event-handling

作为一个完整的Javascript新手,对于那些将Stackoverflow称为Home的全能javascript霸主来说,我似乎面临着一些简单的概念,这些挑战令我感到困惑。

我的问题不是真的。当我在贫民窟的代码编辑器中编写JavaScript时,经常会看到类似这样的内容

function name(e) {

    if(e.KeyCode) { 
        ....
    }
}
Run Code Online (Sandbox Code Playgroud)

这样做有什么作用?这和刚做的有if(KeyCode)什么不同?到底是什么e

谢谢 :)

fea*_*net 5

e这是事件。请注意,字母e并不重要,它只是一个参数名称。您可以将其称为任何名称,但它e是标准的,并且对于阅读您的代码的其他人来说很明显。

例子:

<input type="text" onkeyup="doSomething(event)"/>

function doSomething(e) {
    alert('you pressed key:' + e.keyCode);
}
Run Code Online (Sandbox Code Playgroud)

e.keyCode告诉您按下了哪个键也是如此。


Mar*_*rio 4

似乎该函数是在触发特定事件时由浏览器(或其他)调用的(在这种情况下,我猜它与键盘相关;e 代表事件或事件数据)。

因此一旦触发,调用者将传递事件结构作为参数(复制到 e)。JavaScript 不会仅为一个特定调用定义任何本地/全局变量,因此不会定义 KeyCode,但 e 包含该变量。