jquery에서 apply() 메소드는 this 포인터를 변경하고 현재 객체를 다른 객체로 바꾸는 데 사용됩니다. 구문은 "apply(thisobj,[argarray])"입니다. 매개변수 argarray는 배열 형태로 전달됩니다.
이 튜토리얼의 운영 환경: windows10 시스템, jquery3.2.1 버전, Dell G3 컴퓨터.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!