>웹 프론트엔드 >JS 튜토리얼 >javascript_javascript 스킬의 적용 메소드와 호출 메소드의 기능 및 차이점에 대한 설명

javascript_javascript 스킬의 적용 메소드와 호출 메소드의 기능 및 차이점에 대한 설명

WBOY
WBOY원래의
2016-05-16 17:00:03990검색

1. 전화상담 및 신청방법

1. Call과 Apply는 모두 Function.prototype의 메소드로, JavaScript 엔진에 의해 내부적으로 구현됩니다. 따라서 각 Function 객체 인스턴스(즉, 각 메소드)는 호출을 갖습니다. , 속성을 적용합니다. 메소드의 속성이기 때문에 그 사용은 물론 메소드마다 다릅니다. 이 두 메소드는 동일한 기능을 갖고 있지만 서로 다른 방식으로 사용되기 때문에 혼동되기 쉽습니다.

2, 구문: foo.call(this, arg1,arg2,arg3) == foo.apply(this, 인수) == this.foo(arg1, arg2, arg3);

3. 유사점: 두 방법의 효과는 완전히 동일합니다.

4. 차이: 메소드에 전달되는 매개변수가 다릅니다.

2. 예시 코드

코드 복사 코드는 다음과 같습니다.



3. 코드 설명(즉, 적용 및 호출 기능 설명)

1. 예제 코드는 두 개의 함수 A와 B를 정의합니다. A에는 플래그 속성과 팁 속성(이 속성에 함수가 할당됨)이 포함되고 B에는 플래그 속성이 포함됩니다.

2. A와 B의 객체 a와 b를 각각 만듭니다.

3. a.tip.call(b) 또는 a.tip.apply(b)를 실행한 결과는 B입니다.

4. 호출과 적용 모두 B 개체가 A 개체의 팁 메서드를 호출하고 이에 대한 현재 작업 개체를 수정할 수 있다는 결과를 볼 수 있습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.