Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery和JS中的e来自哪里?_Javascript_Jquery - Fatal编程技术网

Javascript Jquery和JS中的e来自哪里?

Javascript Jquery和JS中的e来自哪里?,javascript,jquery,Javascript,Jquery,因此,我编写JS已经有一段时间了,基本上我从未真正理解过一件事,即事件中的E,请看下面的代码: 请查看HTML代码: <a href="https://developer.mozilla.org/en-US/docs/Web/Events/keydown">Hello</a> 现在,在上述代码中,e是什么,我理解如下: e是jquery规范化的对象,正在内部传递 我还遇到了以下解释: 您所引用的函数称为回调函数。 这些函数的参数是从 调用它们(在您的示例中为.o

因此,我编写JS已经有一段时间了,基本上我从未真正理解过一件事,即事件中的
E
,请看下面的代码:

请查看HTML代码:

    <a href="https://developer.mozilla.org/en-US/docs/Web/Events/keydown">Hello</a>
现在,在上述代码中,
e
是什么,我理解如下:

e是jquery规范化的对象,正在内部传递

我还遇到了以下解释:

您所引用的函数称为回调函数。 这些函数的参数是从 调用它们(在您的示例中为.on()或.click())

为了更好地说明回调函数是如何工作的,这里有一个例子

我读过一篇关于这方面的文章,但它只回答e是什么,而不是它来自哪里

但是我仍然不明白e是从哪里来的。有人能详细解释一下吗

谢谢


Alex-z

当使用jQuery时,e参数(可以随意重命名)将是jQuery传递给事件处理程序方法的事件对象。事件对象是浏览器事件接口的jQuery包装器类型,因此可以在处理程序中使用标准接口


该类型有一个名为“target”的属性,该属性指向浏览器提供的原始本机浏览器事件接口。例如,对于鼠标单击,本机界面就是一个例子。注意:实际的界面可能因浏览器实现不同而不同,尤其是较旧的浏览器实现,这就是为什么jQuery试图通过其类型提供一些一致性。

调用函数
回调(响应)
您正在传递
function(e){console.log(“这是”+e);}
中的
e
参数,如果将
f
传递到函数中,即
function(f)
,变量将变为
f
,而不是
e
<代码>e没有意义。它只是一个变量名,是
事件
的简称。它是一个事件
对象
@guys!你只是在重复我已经读过的东西。。我在问一个更深层次的问题;)这不是已经在我上面给出的链接中解释过了吗?我在问e是从哪里传来的?在触发事件时调用事件处理程序的jQuery代码中,在您的第一个示例中是click事件。当您执行$(“…”).click()时,您告诉jQuery处理DOM click事件,当它被触发时,调用您的函数。。。因此,它创建了我已经解释过的事件对象,并用它作为参数调用函数。如果您对jQuery代码感兴趣,请看一看——这就是触发事件的地方,jQuery创建了事件(e)对象。之后,它通过dispatch来确定定义了哪些处理程序,并在传入创建的对象时调用它们。
$(function () {

    $('a').click(function(e){
        console.log(e.target)
    })

});
function customFunction ( param1, callback ) {
    var response = "default response";
    if (param1 === "hello") {
        response = "greeting";
    }
    callback(response);
}

customFunction("hello", function(e) {
    console.log("this is " + e);
}); // > this is greetings