>  기사  >  웹 프론트엔드  >  call() 메소드와 apply() 메소드의 차이점은 무엇입니까?

call() 메소드와 apply() 메소드의 차이점은 무엇입니까?

清浅
清浅원래의
2018-11-14 17:48:523406검색

이 글에서는 주로 자바스크립트에서 call()과 apply() 메소드의 사용법과 차이점을 소개합니다. 참고할만한 가치가 있으니 모두에게 도움이 되었으면 좋겠습니다

자바스크립트에서는 두 가지 메소드를 자주 사용합니다. 이 방향을 바꾸고 코드의 복잡성을 단순화하기 위해 이 두 메서드는 call() 및 apply() 메서드입니다. 다음으로 두 메서드의 사용법과 차이점을 공유하겠습니다

call() 메서드

call () 메소드의 첫 번째 매개변수는 이것의 지점을 변경하는 것이고, 두 번째 매개변수는

<script>		
function Person(name, age,height){
	this.name=name;
	this.age=age;
	this.height=height;
}
function Student(name,age,height,sex,grade){
	Person.call(this,name,age,height);//将Person的参数传给Student
	this.sex=sex;
	this.grade=grade;}
 var student=new Student("张三",18,180,"男",88);
	</script>
运行结果:

Image 20.jpg

apply() 메소드

apply() 메소드에 전달해야 하는 매개변수입니다. 여기서 두 번째 값을 변경해 보세요. 실제 매개변수는 하나만 전달할 수 있으며 배열입니다

<script>	
function Person(name, age,height){
	this.name=name;
	this.age=age;
	this.height=height;
}
function Student(name,age,height,sex,grade){
	Person.apply(this,[name,age,height]);//注意这儿传递的是数组
	this.sex=sex;
	this.grade=grade;}
 var student= new Student("张三",18,180,"男",88);
	</script>	
运行结果:

Image 20.jpg

call() 메소드와 apply() 메소드의 차이점

두 번째 값 call() 메소드는 여러 개의 매개변수를 전달할 수 있으며, 실제 매개변수는 반드시 전달되어야 합니다. 매개변수는 형식 매개변수의 수와 순서에 따라 전달되어야 합니다. apply() 메소드의 두 번째 값은 하나만 전달할 수 있으며 배열이어야 합니다. 따라서 Apply() 메소드는 배열인 형식 매개변수에 사용하기에 적합하고, call() 메소드는 연속 매개변수 전달에 적합합니다

요약: 위 내용은 이 글의 전체 내용입니다. 지원시 방법 선택

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

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