>웹 프론트엔드 >프런트엔드 Q&A >자바스크립트 함수에 이름이 없을 수 있나요?

자바스크립트 함수에 이름이 없을 수 있나요?

青灯夜游
青灯夜游원래의
2022-03-08 18:26:253631검색

JavaScript에서 함수는 이름을 가질 수 없습니다. 이름이 없는 함수를 "익명 함수"라고 하며, 함수 키워드, 매개변수 및 함수 본문만 포함하며 구문은 "function ([args]){statements입니다. }".

자바스크립트 함수에 이름이 없을 수 있나요?

이 튜토리얼의 운영 환경: Windows 7 시스템, JavaScript 버전 1.8.5, Dell G3 컴퓨터.

JavaScript에서는 함수에 이름이 없습니다.

이름이 없는 함수를 "익명 함수"라고 하며 함수 키워드, 매개변수 및 함수 본문만 포함합니다. 구체적인 사용법은 다음과 같습니다.

function ([args]) {
statements
}

예제 1

다음 코드는 익명 함수를 정의합니다.

function (a, b) {  //匿名函数
    return a + b;
}

위 코드에서 함수 리터럴은 기본적으로 함수 구문을 사용하여 함수 구조를 정의하는 것과 동일하며 해당 구조는 고정되어 있습니다. 그러나 함수 리터럴은 함수 이름을 지정하지 않고 function이라는 키워드를 직접 사용하여 함수의 구조를 나타냅니다.

예제 2

익명 함수는 함수 구조의 문이 아닌 표현식, 즉 함수 표현식입니다. 다음으로 익명 함수를 변수 f에 값으로 할당합니다.

//把函数作为一个值直接赋值给变量 f
var f = function (a, b) {
    return a + b;
};

함수 구조가 변수에 값으로 할당되면 변수는 함수로 호출될 수 있으며 변수는 익명 함수를 가리킵니다.

console.log(f(1,2));  //返回值3

예제 3

익명 함수는 값 역할을 하며 더 복잡한 표현 연산에 참여할 수 있습니다. 위의 예에서는 다음 코드를 사용하여 함수 정의 및 호출의 통합 작업을 완료할 수 있습니다.

console.log(  //把函数作为一个操作数进行调用
    (function (a,b) {
        return a + b;
    })(1, 2));  //返回数值3

익명 함수의 역할:

1. 클로저는 익명 함수를 통해 구현될 수 있습니다. 다음 글에서 설명하겠습니다. 여기에 대한 간단한 소개: 클로저는 함수 범위 내에 정의된 변수에 액세스할 수 있는 함수입니다. 클로저를 생성하려면 익명 함수를 사용해야 하는 경우가 많습니다.

2. 블록 수준 범위를 시뮬레이션하고 전역 변수를 줄입니다. 익명 함수를 실행한 후에는 메모리에 저장된 해당 변수가 소멸되어 메모리가 절약됩니다. 또한 대규모 다중 사용자 개발 프로젝트에서 블록 수준 범위를 사용하면 명명 충돌 문제가 크게 줄어들어 치명적인 결과를 피할 수 있습니다. 개발자는 더 이상 전역 범위를 망칠까 봐 걱정할 필요가 없습니다.

【관련 추천: javascript 비디오 튜토리얼, web front-end

위 내용은 자바스크립트 함수에 이름이 없을 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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