【发布时间】:2012-06-29 16:53:08
【问题描述】:
关于 JavaScript 事件对象的快速问题 - JavaScript 如何知道我何时尝试将事件变量传递给函数?例如,当我像这样定义onclick 处理程序时:
<button onclick='SendMessage(event)'></button>
JavaScript 是否仅仅因为我将它命名为“事件”而传递事件变量?如果是这样,它为传递事件变量保留了哪些其他变量名称? (例如?ev?等等。)
如果是这种情况,是否可以通过命名局部或全局变量“event”、“e”等来覆盖它们?
【问题讨论】:
-
它只是碰巧将它作为第一个参数传入,它不知道你叫什么变量。 Javascript 在验证函数签名时没有参数类型,甚至没有检查参数,因为你不能使用函数重载。
-
@TheZ 这不正确。
event在这种情况下是一个关键字,它不能与其他任何东西一起使用。现在在您的函数中,您可以为参数命名任何您想要的名称。 DEMO -
无论如何都不是关键字。将其称为“隐式参数”或更合适的名称?
标签: javascript event-handling dom-events parameter-passing