이 기사의 예에서는 JavaScript 익명 함수의 사용법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.
요약:
이 글은 자바스크립트에서 가장 기본적이고 중요한 것, 즉 함수에 대해 설명하고 있습니다. 제가 이 글을 쓴 이유는 제가 인터뷰에서 질문을 받았기 때문인데, 다시 생각해 볼 수 있습니다.
먼저 예를 들어 이해하셨다면 이 글의 내용을 이미 이해하셨다는 뜻입니다.
함수 f() {return 10;}
f()를 반환합니다.
함수 f() {return 20;}
var f = 30;
})();
console.log(f);
함수는 고급 JavaScript 프로그래밍에서 다음과 같이 설명됩니다. 함수는 원하는 수의 명령문을 캡슐화할 수 있으며 언제 어디서나 호출하고 실행할 수 있습니다. 이전에 엄격 모드를 소개했습니다. 엄격 모드에는 기능에 몇 가지 제한이 있습니다.
① 함수 이름을 eval이나 Argument로 지정할 수 없습니다
② 매개변수 이름을 eval이나 인수로 지정할 수 없습니다
③ 동일한 이름을 가진 두 개의 명명된 매개변수가 있을 수 없습니다
위와 같은 상황이 발생하면 구문 오류가 발생하여 코드를 실행할 수 없습니다.
함수 정의
함수 정의는 세 가지 유형으로 나누어집니다
1. 생성자
2. 일반적인 정의
3. 기능적 정의
fun 함수는 다음 세 가지 방식으로 정의할 수 있습니다.
매개변수
이 함수는 전달되는 매개변수 수나 매개변수가 전달되는 데이터 유형에 상관하지 않습니다. 정의한 함수가 두 개의 매개변수만 수신하더라도 이 함수를 호출할 때 반드시 두 개의 매개변수를 전달할 필요는 없습니다. 매개변수를 1개, 3개 또는 전혀 전달하지 않을 수도 있습니다. 그 이유는 매개변수가 내부적으로 배열로 표현되기 때문입니다. 함수 본문에서 인수 객체를 통해 매개변수 배열에 액세스할 수 있습니다(예:
).
Alert("안녕하세요 " 인수[0] "," 인수[1]);
}
인수 객체의 길이 속성에 액세스하여 매개변수가 몇 개 있는지 알아보세요. 함수의 길이는 함수의 매개변수 개수를 반환합니다.
참고: 모든 매개변수는 값으로 전달되며 참조로 매개변수를 전달하는 것은 불가능합니다.
함수는 오버로드될 수 없으며 다시 작성만 가능합니다
동일한 이름을 가진 두 개의 함수가 정의된 경우 이름은 마지막으로 정의된 함수에만 속합니다. 예:
숫자 100을 반환합니다.
}
함수 추가(num) {
숫자 200을 반환합니다.
}
var 결과 = add(100) //300
참고: return 문을 실행한 후 즉시 함수가 중지되고 종료됩니다.
함수 종류
함수는 명명된 함수와 익명 함수의 두 가지 유형으로 나뉩니다. 예를 들어 다음과 같은 유명한 함수
}
호출되면 fun()만 필요합니다.
익명 함수에는 이름에서 알 수 있듯이 함수 이름이 없습니다. 예를 들어
함수() {}
함수 호출은 함수 이름을 통해 호출됩니다. 익명 함수를 호출하는 방법은 무엇입니까? 하나는 익명 함수를 변수에 할당하고 변수가 함수 이름으로 사용되도록 하는 것입니다. 다른 하나는 다음 세 가지 방법과 같이 ()를 사용하여 호출하는 것입니다
1. (함수() {return;}());
2. (함수() {return;})();
3. 함수() {return;}();
예:
경고(x y);
})(2,3);
//경고(5)
이 예는 나중에 논의할 클로저와 관련된 예입니다.
먼저 변수 f를 정의한 다음 이를 익명 함수에 할당합니다. 여기서는 함수의 모든 변수 정의가 앞에 추가되므로 익명 함수의 실행 순서는
입니다.
var f = 30;
함수 f() {return 10;}
함수 f() {return 20;}
f()를 반환합니다.
})();
이 기사가 모든 사람의 JavaScript 프로그래밍 설계에 도움이 되기를 바랍니다.