이 글의 예시에서는 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 프로그래밍 설계에 도움이 되기를 바랍니다.