>웹 프론트엔드 >프런트엔드 Q&A >jquery에서 apply() 메소드를 사용하는 방법

jquery에서 apply() 메소드를 사용하는 방법

WBOY
WBOY원래의
2022-04-24 17:35:322014검색

jquery에서 apply() 메소드는 this 포인터를 변경하고 현재 객체를 다른 객체로 바꾸는 데 사용됩니다. 구문은 "apply(thisobj,[argarray])"입니다. 매개변수 argarray는 배열 형태로 전달됩니다.

jquery에서 apply() 메소드를 사용하는 방법

이 튜토리얼의 운영 환경: windows10 시스템, jquery3.2.1 버전, Dell G3 컴퓨터.

jquery에서 apply() 메소드를 사용하는 방법

call() 메소드는 apply() 메소드와 동일한 효과를 가집니다: 이것의 요점을 변경합니다.

특정 구문:

apply(thisobj,[argarray])

apply() 메소드와 call() 메소드는 유사한 기능을 가지고 있습니다. 차이점은 매개변수 전송 형식에 있습니다. apply() 메소드에는 thisobj 매개변수의 사용법이 있습니다. call() 메소드와 동일합니다. 두 번째 매개변수 argarray는 call()과 달리 배열 형식으로 전달됩니다. thisobj 외에도 call()은 여러 개의 개별 매개변수를 전달할 수 있습니다.

두 가지 방법은 매개변수 구성이 약간 다르지만 기능은 비슷합니다.

call 메서드의 호출 개체는 일반적으로 함수이며, 함수 자체도 개체입니다.

첫 번째 매개변수 thisobj는 함수 객체의 새로운 컨텍스트입니다. thisobj 객체에 따라 함수의 실행 컨텍스트가 다를 수 있습니다. thisobj 매개변수가 전달되지 않으면 기본 컨텍스트는 전역 창입니다.

The 예는 다음과 같습니다:

예를 들어:

    <script>
 
        var a = 1, b = 1;
 
        function add(a, b)
        {
            alert(this.a + this.b);
        }
 
        var s = {};
        s.a = 5;
        s.b = 1;
 
        add.call();
        //alert(2)
 
        add.call(s, 3, 1);
        //alert(6)
 
    </script>

add.call()은 thisobj 매개 변수를 전달하지 않습니다. add 함수의 이 함수는 창을 가리키며 출력 결과는 2.

add.call(s, 3,1) 그리고 thisobj 매개변수가 s에 전달되면 add의 This 함수가 s를 가리키므로 출력 결과는 6입니다.

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

권장 관련 비디오 튜토리얼:jQuery 비디오 튜토리얼

위 내용은 jquery에서 apply() 메소드를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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