>웹 프론트엔드 >JS 튜토리얼 >apply()와 call() 메소드는 무엇을 합니까?

apply()와 call() 메소드는 무엇을 합니까?

不言
不言앞으로
2019-03-25 14:14:412625검색

이 글의 내용은 apply()와 call() 메소드에 대한 내용입니다. 참고할만한 가치가 있으니 도움이 필요한 분들에게 도움이 되었으면 좋겠습니다.

각 함수에는 상속되지 않은 두 가지 메서드인 apply()와 call()이 포함되어 있습니다. ;
call과 apply는 모두 Function.prototype의 메소드에 속하므로 각 함수 인스턴스에는 call과 apply 속성이 있습니다.
Function

call() 메소드와 apply() 메소드는 동일한 효과를 갖습니다. .

Difference

두 매개변수의 차이점은 매개변수를 받는 방식에 있습니다.
call(): 첫 번째 매개변수는 이 값이 변경되지 않지만 나머지 매개변수는 함수에 직접 전달된다는 것입니다. call() 메소드를 사용할 때 함수에 전달되는 매개변수는 하나씩 나열되어야 합니다. 예: call(obj,a,b,c)
apply(): 함수에 전달되는 것은 매개변수 배열입니다. 예: apply(obj,[a,b,c])

업로드된 코드:

function add(c, d){ 
    return this.a + this.b + c + d; 
} 
var o = {a:1, b:3}; 
add.call(o, 5, 7); // 1 + 3 + 5 + 7 = 16  this指向o 
add.apply(o, [10, 20]); // 1 + 3 + 10 + 20 = 34  this指向o
이 기사는 여기에 있습니다. 더 많은 흥미로운 콘텐츠를 보려면 PHP의

JavaScript 비디오 튜토리얼을 참조하세요. 중국사이트칼럼!

위 내용은 apply()와 call() 메소드는 무엇을 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제