>  기사  >  웹 프론트엔드  >  javascript_javascript 기술에서 함수를 매개변수로 호출하는 방법

javascript_javascript 기술에서 함수를 매개변수로 호출하는 방법

WBOY
WBOY원래의
2016-05-16 16:15:091320검색

이 글의 예시에서는 JavaScript에서 함수를 매개변수로 호출하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

먼저 예를 살펴보겠습니다.

function Map(){
var obj = {};

this.put = function(key, value){
obj[key] = value;
}

this.eachMap = function(fn){
for(var attr in obj){
fn(attr, obj[attr]);
}
}

}
var m = new Map();
m.put('01', 'abc');
m.put('02', 1024);
m.put('03', true);
m.put('04', 0);
m.put('05', false);

m.eachMap(function(key, value){
alert(key + " : " + value);
});

이 코드가 실행되는 순서는 JS의 요구사항인 위에서 아래로 해석하고 실행하는 것입니다.
여기서는 m.eachMap()의 함수가 매개변수로 전달되고 실행되는 방법을 주로 설명합니다.

1단계: m.eachMap 메소드가 실행되면 JS는 해당 this.eachMap 메소드를 찾습니다.
2단계: this.eachMap 메소드를 찾으면 함수 본문의 명령문 순서에 따라 실행됩니다.
3단계: fn(attr, obj[attr]);이 실행되면 for 문 실행으로 돌아갑니다. for 문 실행으로 돌아가기 전에 attr에는 for 문에서 반환된 값이 없습니다. attr은 예, '01'이고 obj[attr]의 값도 거기에 있으며 'abc'입니다.
4단계: 그런 다음 fn(attr, obj[attr]);은 m.eachMap 메서드의 매개 변수 함수, 즉

으로 반환됩니다.
function(key, value){
alert(key + " : " + value);
}

attr은 키를 대체하고, obj[attr]은 값을 대체하고, 경고 문을 실행하여 출력합니다.

5단계: for 루프를 계속 실행하고 4단계를 반복하여 끝까지 출력합니다.

이 기사가 모든 사람의 JavaScript 프로그래밍 설계에 도움이 되기를 바랍니다.

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