js中 function(e) e是什么意思,代表什么,请举例说明

JavaScript09

js中 function(e) e是什么意思,代表什么,请举例说明,第1张

这里的e是参数的名字。参数分为:

1.形参:形式参数,相当于函数声明的局部变量,实参把自己的值赋给形参,形参就保存了这个值

2.形参只能在函数内部使用。

3.实参:实际参数,函数的调用者把值放在实参里面,传给函数的形参。

所以,实参、形参就相当于一个管道,一个接口,使调用函数的人可以通过这种方式把要计算的值传给函数去计算。

拓展资料:

1.Function与函数:Function是JavaScript提供的一种引用类型,通过Function类型创建Function对象。在JavaScript中,函数也是以对象的形式存在的,每个函数都是一个Function对象。

2.递归:在函数体内调用自身的函数被称之为递归函数。在某种意义上来说,递归近似于循环。两者都重复执行相同的代码,都需要一个终止条件来避免无限循环和无限递归。

在一个函数体内,想要调用自身函数,有一下两种方式:通过使用自身函数名实现、通过使用arguments对象的callee属性来实现。

e是事件对象,就是js事件相关信息对象,而且根据不同的事件,属性值会不一样。比如 obj.onclick=function(e){

console.log(e)

}

这里的e就是obj点击事件的事件对象

上面这段代码,在 JavaScript 的事件处理中比较常见,主要是为了兼容老版本的 Internet Explorer(主要是 IE9 之前的版本)而设立的,原因是老版 IE 不支持标准的 W3C 事件处理规范。

这段代码中的 e 代表事件(event)对象,即所谓的事件驱动源。下面以鼠标点击事件为例,作一个测试:

(HTML)

<!DOCTYPE html>

<html>

<body>

<button type="button" id="btn">Click</button>

<script type="text/javascript">

// JavaScript 代码

</script> 

</body>

</html>

(JavaScript)

document.getElementById("btn").onclick=function(e){

alert(e)

}

编写一个匿名函数 function(e){ alert(e)},并将其赋值给事件句柄(即 onclick),这是一个回调函数,相当于 onclick(e){ alert(e)}。这段代码在 Chrome、Firefox 或新版 IE(IE9 及以后的版本)等支持标准的浏览器下运行,弹出的应该是类似“[object MouseEvent]”的字符串,说明 e 为事件对象;而在老版 IE 下运行,结果就是“undefined”(未定义)。

显而易见,在标准的流程中, 事件对象默认由事件句柄函数的第一个参数传入,供处理函数使用;在老版 IE 中,这个事件对象却无法直接由句柄函数传入,反而可以使用一个全局变量来代表事件对象,这个变量即 window.event。同样,可以用例子验证:

document.getElementById("btn").onclick=function(e){

alert(window.event)

}

在老版 IE 中即可显示 window.event 为对象,说明可以通过这种方式取得事件对象。(其实除了 IE 外,Chrome 等浏览器中也存在 window.event,但是在支持标准的浏览器中,我们最好使用标准方式。)

现在,就可以理解为什么会出现  e=e||window.event 这种写法了。因为只有这样才能兼容老版 IE 的事件处理过程:如果浏览器支持标准的处理过程则使用句柄函数传入的第一个参数(e),反之则使用 IE 的处理方法(window.event)。从某种意义上说,标准的事件对象(e) 和老版 IE 中的 window.event 可以视为等价的(事实上有一些区别,这里就不详细区分了),两者任何一个有效都可以供我们使用。

document.getElementById("btn").onclick=function(e){

e=e||window.event

// 使用 e 对象

}

于是,上面的这段代码就可以兼容几乎所有的浏览器了。