JS 초보자님, onclick이 매개변수 포함 함수를 직접 호출할 수 없지만 onclick=function(){fn(p)} 형식으로 작성해야 하는 이유는 무엇인지 물어보세요. 비매개변수 함수는 onclick=fn();과 같이 직접 작성할 수 있습니다.
기본 원리는 무엇인가요? 감사합니다
PHPz2017-05-19 10:33:56
onclick
은 실제로 다음과 같이 매개변수가 있는 함수에 직접 바인딩될 수 있습니다. onclick
其实是可以直接绑定有参数的函数,如下:
const input = document.getElementById('input');
input.onclick = function(params){
console.log(params);
};
但是,请注意,你的需求是执行函数fn(p)
,执行的结果是返回一个值,而不是一个函数。onclick
作为点击时的回调事件,如果绑定,是一定要绑定一个函数的,而不是一个值。如下:
input.onclick = function(){
fn(p);
};
这里的意思是,给input绑定一个onclick
事件,这个事件是一个函数,点击时,回调就被执行了,意味着函数也被执行了,函数执行时,其中的语句fn(p)
으아악
fn(p)
함수를 실행하는 것이며, 실행 결과는 함수가 아닌 값을 반환하는 것입니다. onclick
은 클릭 시 콜백 이벤트입니다. 바인딩된 경우 값이 아닌 함수에 바인딩되어야 합니다. 다음과 같습니다: 🎜
으아악
🎜여기서의 의미는 onclick
이벤트를 입력에 바인딩하는 것입니다. 이 이벤트는 클릭하면 콜백이 실행됩니다. 즉, 함수가 실행될 때에도 실행됩니다. fn(p)
문이 실행됩니다. 🎜