函数名称(e)在Javascript中

时间:2010-08-03 15:47:13

标签: javascript function event-handling

作为一个完整的Javascript新手,我向那些称为Stackoverflow回家的全能javascript霸主的简单概念提出了挑战。

我的问题不是真正的问题。当我在我的代码编辑器中执行我的javascript时,我会经常看到这样的东西

function name(e) {

    if(e.KeyCode) { 
        ....
    }
}

这样做有什么作用?这与仅仅if(KeyCode)有什么不同?什么是e全部?

谢谢:)

7 个答案:

答案 0 :(得分:4)

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

示例:

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

function doSomething(e) {
    alert('you pressed key:' + e.keyCode);
}

所以e.keyCode告诉你按下了哪个键。

答案 1 :(得分:4)

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

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

答案 2 :(得分:1)

e是在大多数情况下传递给函数的事件对象,它正在检查传入的事件对象的keyCode属性。

例如在Firefox中,你可以这样做:

document.onclick = myFunction;
function myFunction(e) {
  //e is the click event object
  //e.keyCode, e.target, etc.
}

这是有效的,因为默认情况下,它将事件作为第一个参数传递给处理程序。对于你的例子,这是否更清楚?

function name(someObject) { //or event, or any name works
  if(someObject.keyCode) {

答案 3 :(得分:1)

KeyCode未定义(单独)。它是e的属性或属性,因此您必须使用e.KeyCode进行调用。 e(可能)是一个事件对象。也许你应该了解OOP

答案 4 :(得分:0)

“e”是一个参数 - 一个事件对象 - 在被调用时传递给函数。

答案 5 :(得分:0)

这是一个事件对象。阅读Events

答案 6 :(得分:0)

e =传递给函数的事件的简写变量名。