JavaScript。如何在不调用函数的情况下使用单个参数?
我有一个我觉得很难理解的问题 问题在于JavaScript函数及其参数 例如,当我们编写一个函数时,我们可以给它一个到多个参数JavaScript。如何在不调用函数的情况下使用单个参数?,javascript,function,Javascript,Function,我有一个我觉得很难理解的问题 问题在于JavaScript函数及其参数 例如,当我们编写一个函数时,我们可以给它一个到多个参数 function myCustomFunction(parameterOne, parameterTwo) myFunction("hello", "World") el.className = "something" e.className = "somethingElse"; 然后我们可以在调用函数时使用这些参数作为参数,例如 function myCusto
function myCustomFunction(parameterOne, parameterTwo)
myFunction("hello", "World")
el.className = "something"
e.className = "somethingElse";
然后我们可以在调用函数时使用这些参数作为参数,例如
function myCustomFunction(parameterOne, parameterTwo)
myFunction("hello", "World")
el.className = "something"
e.className = "somethingElse";
当我们调用函数时,它会给我们值“hello”
和“World”
然而,有一件事我看到很多人都在做,我真的不明白,那就是,有些人在编写函数时,他们正在传递一个参数(el
)或(e
),我知道它们代表元素或事件。例如,他们在函数中使用参数而不调用函数
function myCustomFunction(parameterOne, parameterTwo)
myFunction("hello", "World")
el.className = "something"
e.className = "somethingElse";
当我们创建一个函数时,这个参数的用途是什么?我能用它做什么
请尽可能详细地解释
谢谢。您没有显示具体的示例,但听起来您所说的函数是作为回调传递给另一个函数的。在本例中,您正在声明一个将由其他代码调用的函数。您将该函数作为参数传递,然后,稍后,其他代码调用您的函数并传递所需的参数 下面是一个例子:
document.getElementById("test").addEventListener("click", function(e) {
// this function is called by the browser when the click event occurs
// the argument `e` is an event object passed by the browser
console.log(e.target);
});
当我们创建一个函数和
我能用它做什么呢
当传递回调函数时,您必须知道这个API的“契约”是什么(通常通过一些文档)。该契约将描述调用回调函数时将向其传递哪些参数。对于上面的click事件侦听器,约定是传递给回调函数的第一个参数将是具有所述属性的事件对象。当您声明回调时,您将使用与将传递给回调的参数匹配的参数来声明回调。该特定API还将this
指针设置为调度事件的对象(在上面的示例中,是单击的DOM对象)
在C++之类的强类型语言中,编译器会强制在回调函数上声明正确的参数。在Javascript中,没有这样的强制,因此您可以为参数指定适当且有意义的名称,并将它们按正确的顺序排列,以使代码清晰并正常工作。请记住,决定回调函数将获得哪些参数的是回调函数的调用者(而不是您)。
您没有给出具体的示例,但听起来像是在谈论一个作为回调传递给另一个函数的函数。在本例中,您正在声明一个将由其他代码调用的函数。您将该函数作为参数传递,然后,稍后,其他代码调用您的函数并传递所需的参数 下面是一个例子:document.getElementById("test").addEventListener("click", function(e) {
// this function is called by the browser when the click event occurs
// the argument `e` is an event object passed by the browser
console.log(e.target);
});
当我们创建一个函数和
我能用它做什么呢
当传递回调函数时,您必须知道这个API的“契约”是什么(通常通过一些文档)。该契约将描述调用回调函数时将向其传递哪些参数。对于上面的click事件侦听器,约定是传递给回调函数的第一个参数将是具有所述属性的事件对象。当您声明回调时,您将使用与将传递给回调的参数匹配的参数来声明回调。该特定API还将this
指针设置为调度事件的对象(在上面的示例中,是单击的DOM对象)
在C++之类的强类型语言中,编译器会强制在回调函数上声明正确的参数。在Javascript中,没有这样的强制,因此您可以为参数指定适当且有意义的名称,并将它们按正确的顺序排列,以使代码清晰并正常工作。请记住,决定回调函数将获得哪些参数的是回调函数的调用者(不是您)。
并非所有函数都是由您手动调用的。您还可以创建将传递给某些API的函数,这些API将为您调用这些函数 例如,事件侦听器:element.addEventListener('click', function listener(e) {
// Here you can access the event object in `e`
});
您不调用
侦听器
函数。您只需创建它,并告诉浏览器在用户单击时调用它。它将以事件对象作为参数调用,因此如果要使用它,请添加参数。并非所有函数都是由您手动调用的。您还可以创建将传递给某些API的函数,这些API将为您调用这些函数
例如,事件侦听器:
element.addEventListener('click', function listener(e) {
// Here you can access the event object in `e`
});
您不调用侦听器
函数。您只需创建它,并告诉浏览器在用户单击时调用它。它将以事件对象作为参数调用,因此如果要使用它,可以添加参数