728x90
반응형
질문 : 전화와 신청의 차이점은 무엇입니까?
call
을 사용하는 것과 함수를 호출하기 위해 apply
하는 것의 차이점은 무엇입니까?
var func = function() {
alert('hello!');
};
func.apply();
vs func.call();
앞서 언급 한 두 가지 방법간에 성능 차이가 있습니까? call
오버 apply
을 사용하는 것이 가장 좋으며 그 반대의 경우는 언제입니까?
답변
apply
arguments
를 배열로 사용하여 함수를 호출 할 수 있다는 것입니다. call
하려면 매개 변수를 명시 적으로 나열해야합니다. 유용한 니모닉은 " A 는 rray, C 는 c omma"입니다.
의사 구문 :
theFunction.apply(valueForThis, arrayOfArgs)
theFunction.call(valueForThis, arg1, arg2, ...)
call
함수와 함께 사용하기 위해 배열 spread
시킬 수있는 가능성이 있습니다 . 여기서 호환성을 확인할 수 있습니다.
샘플 코드 :
function theFunction(name, profession) {
console.log("My name is " + name + " and I am a " + profession +".");
}
theFunction("John", "fireman");
theFunction.apply(undefined, ["Susan", "school teacher"]);
theFunction.call(undefined, "Claude", "mathematician");
theFunction.call(undefined, ...["Matthew", "physicist"]); // used with the spread operator
출처 : https://stackoverflow.com/questions/1986896/what-is-the-difference-between-call-and-apply
728x90
반응형
'프로그래밍 언어 > HTML,CSS,JS' 카테고리의 다른 글
JavaScript 개체[object Object]의 내용을 출력하는 방법 (0) | 2021.11.23 |
---|---|
JavaScript를 사용하여 select 에서 선택한 값 가져 오기 (0) | 2021.11.22 |
자바스크립트 객체를 문자열로 변환 (0) | 2021.11.19 |
JavaScript를 사용하여 URL에서 #hash를 확인하는 방법 (0) | 2021.11.19 |
JavaScript에서 여러 값을 return 하는 벙법 (0) | 2021.11.19 |