Javascript:在body的onload事件中指定的函数调用了什么参数?

Cla*_*diu 7 javascript browser firefox events dom

问题类似,我的HTML看起来像这样:

<body id="body" onload="loader()">
</body>
Run Code Online (Sandbox Code Playgroud)

正如本文所述,我总是假设onload没有任何参数.但是,我命名了这个参数,并做了一些深入的检查,发现我有一个看起来像这样的对象:

{originalTarget : DOM, 
preventCapture : function, 
target : DOM, 
cancelable : Bool, 
currentTarget : DOM, 
timeStamp : Int, 
bubbles : Bool, 
type : String, 
eventPhase : Int, 
preventDefault : function, 
initEvent : function, 
stopPropagation : function, 
CAPTURING_PHASE : Int, 
AT_TARGET : Int, 
BUBBLING_PHASE : Int, 
explicitOriginalTarget : DOM, 
preventBubble : function,
isTrusted : Bool, 
MOUSEDOWN : Int, 
MOUSEUP : Int, 
MOUSEOVER : Int, 
//... (more constants)
}
Run Code Online (Sandbox Code Playgroud)

任何人都知道那是什么,或者它的类名是什么?

Ann*_*lle 9

这似乎是标准的JavaScript DOM 事件对象.它描述了您的函数正在处理的事件的性质.

更新回应评论讨论:

不同的浏览器以不同的方式提供Event对象:

  • IE从不将它作为参数传递给函数,而是使用该window.event属性.
  • Firefox会将它作为第一个参数传递给它.
  • Chrome似乎同时做到了这两点.