js 에서 apply()와 call()의 차이 와 용법 사례 분석

3203 단어 jsapply()call()
본 논문 의 사례 는 js 에서 apply()와 call()의 차이 와 용법 을 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
모든 함 수 는 계승 이 아 닌 두 가지 방법 을 포함한다.apply()call().두 가지 용 도 는 모두 특정한 역할 영역 에서 함 수 를 호출 하 는 것 으로 함수 체 내 this 대상 의 값 을 다시 설정 하 는 것 과 같다.
두 가지 차 이 는 수신 매개 변수 방식 이 다 르 기 때 문 입 니 다.apply()첫 번 째 매개 변 수 는 apply 함수 가 실행 하 는 역할 영역 입 니 다.두 번 째 매개 변 수 는 Array 의 인 스 턴 스(배열)일 수도 있 고 arguments 대상 일 수도 있 습 니 다.call()첫 번 째 매개 변 수 는 this 의 값 이 변 하지 않 았 으 며 나머지 매개 변 수 는 함수 에 직접 전달 되 었 습 니 다(즉,하나씩 열거).
배열 이나 arguments 대상 이 들 어 오 려 면 apply 가 더 편리 합 니 다.apply()call()파 라 메 터 를 전달 할 수 있 습 니 다.더욱 유용 한 것 은 둘 다 함수 운행 의 역할 영역 을 확장 할 수 있다 는 것 이다.

var obj = {color:'red'};
window.color = 'blue';
function getcolor(){
  console.log(this.color)
};
getcolor.apply(obj);    //red
getcolor.apply(window);  //blue
getcolor.apply(this);   //blue

온라인 HTML/CSS/JavaScript 코드 실행 도구 사용:http://tools.jb51.net/code/HtmlJsRun,테스트 실행 결 과 는 다음 과 같 습 니 다.

중요 한 용법:

var values = [1,2,3,4,5,4,3,2,1];
var max = Math.max.apply(Math,values);
console.log(max);     //5

온라인 HTML/CSS/JavaScript 코드 실행 도구 사용:http://tools.jb51.net/code/HtmlJsRun,테스트 실행 결 과 는 다음 과 같 습 니 다.

이 는 실제로apply()수신 배열 을 이용 해 전 참 을 편리 하 게 했다.apply 의 첫 번 째 매개 변 수 는 null 또는 빈 문자열 로 바 꿀 수 있 습 니 다.
그 밖 에bind()방법 은 함수 의 인 스 턴 스 를 만 들 것 입 니 다.this 값 은 전달bind()의 값 을 가리 키 고 있 습 니 다.

window.color = 'red';
var o = {color:'blue'};
function sayColor(){
 console.log(this.color)
};
var objSayColor = sayColor.bind(o);
objSayColor();       //blue

온라인 HTML/CSS/JavaScript 코드 실행 도구 사용:http://tools.jb51.net/code/HtmlJsRun,테스트 실행 결 과 는 다음 과 같 습 니 다.

자 바스 크 립 트 와 관련 된 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.,,,javascript 대상 입문 강좌,JavaScript 상용 함수 기법 집합,JavaScript 오류 및 디 버 깅 기술 요약,JavaScript 데이터 구조 와 알고리즘 기술 총화JavaScript 스 트 리밍 알고리즘 및 기술 총화.
본 고 에서 말 한 것 이 여러분 의 자 바스 크 립 트 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기