반응형
인수를 인수로 하는 함수 전달?
인수를 인수로 자바스크립트 함수를 전달할 수 있습니까?
예:
$(edit_link).click( changeViewMode( myvar ) );
"닫힘"을 사용합니다.
$(edit_link).click(function(){ return changeViewMode(myvar); });
이렇게 하면 매개 변수에 대해 알고 있는 익명 임시 함수 래퍼가 생성되어 실제 콜백 구현에 전달됩니다.
사용. MDN 인용:
메소드는 호출되면 새로운 함수를 생성합니다.
this
키워드를 제공된 값으로 설정하고, 새 함수가 호출될 때 제공된 임의의 인수 앞에 지정된 인수 시퀀스를 사용합니다.
IE9+를 포함한 모든 주요 브라우저에서 지원됩니다.
코드는 다음과 같습니다.
$(edit_link).click(changeViewMode.bind(null, myvar));
사이드 노트:당신이 세계적인 맥락에 있다고 생각합니다.this
변수는window
; 그렇지 않으면 사용this
대신에null
.
아니요, 하지만 매개변수 없이 하나만 통과하면 됩니다.
$(edit_link).click(
function() { changeViewMode(myvar); }
);
매개변수가 없는 익명 함수를 전달하면, 그 함수는 종결에 있는 변수와 함께 매개변수화된 함수를 호출합니다.
또는 es6를 사용하는 경우 화살표 기능을 사용할 수 있어야 합니다.
$(edit_link).click(() => changeViewMode(myvar));
예, 다음과 같습니다.
$(edit_link).click(function() { changeViewMode(myvar) });
당신은 이걸 할 수 있다.
var message = 'Hello World';
var callback = function(){
alert(this)
}.bind(message);
그리고 나서.
function activate(callback){
callback && callback();
}
activate(callback);
또는 콜백에 보다 유연한 논리가 포함되어 있으면 개체를 전달할 수 있습니다.
다음은 페르디난드 비어(Ferdinand Beyer)의 접근 방식을 따르는 예입니다.
function function1()
{
function2(function () { function3("parameter value"); });
}
function function2(functionToBindOnClick)
{
$(".myButton").click(functionToBindOnClick);
}
function function3(message) { alert(message); }
이 예에서 "파라미터 값"은 함수 랩을 사용하여 함수1에서 함수3으로 전달됩니다.
언급URL : https://stackoverflow.com/questions/1300242/passing-a-function-with-arguments-as-an-argument
반응형
'programing' 카테고리의 다른 글
그 중 하나가 모듈과 이름이 같은 여러 소스 파일로 커널 모듈을 구축하는 것입니다. (0) | 2023.10.19 |
---|---|
다중 및 단일 인덱스 (0) | 2023.10.19 |
명령줄 응용 프로그램의 키보드 입력 (0) | 2023.10.19 |
PowerShell로 텍스트 파일 맨 위 줄 제거 (0) | 2023.10.19 |
입력 요소에는 자동 완성 속성이 있어야 합니다. (0) | 2023.10.14 |