JavaScript에서 익명 함수의 사용법, 장점 및 단점에 대한 자세한 설명(그래픽 튜토리얼)

亚连
풀어 주다: 2018-05-21 11:12:33
원래의
1539명이 탐색했습니다.

자바스크립트의 익명함수 사용법과 장점, 단점에 대해 자세히 설명드리겠습니다. 이제 그것을 여러분과 공유하고 모든 사람에게 참고 자료로 제공하겠습니다.

익명 함수는 전역 변수를 오염시키지 않고 페이지에 Javascript가 작성되도록 효과적으로 보장할 수 있습니다.

익숙하지 않은 페이지에 Javascript를 추가할 때 매우 효과적이고 아름답습니다.

1. 익명함수란 무엇인가요?

Javascript에서 함수를 정의하는 방법에는 일반적으로 세 가지가 있습니다.

함수 키워드(함수) 문:

function fnMethodName(x){alert(x);}

함수 리터럴( 함수 리터럴 ):

var fnMethodName = function(x){alert(x);}

Function() 생성자:

var fnMethodName = new Function('x','alert(x) ;')

위 세 메소드는 동일한 메소드 함수 fnMethodName을 정의하는데,

첫 번째가 가장 일반적으로 사용되는 메소드이고, 후자 두 메소드는 함수를 fnMethodName 변수에 복사하는데 이 함수에는 이름이 없습니다. 즉 익명 함수입니다.

실제로 상당수의 언어에는 익명 기능이 있습니다.

2. 함수 리터럴과 Function() 생성자의 차이점

함수 리터럴은 익명 함수이지만 구문을 사용하면 함수 이름을 지정할 수 있으며 재귀 함수를 작성할 때 직접 호출할 수 있습니다. function , Function() 생성자를 사용하면 작동하지 않습니다.

var f = functionfact(x) { if (x < = 1) return 1; else return x*fact(x-1);

Function() 생성자는 런타임 시 Javascript 코드를 동적으로 생성할 수 있게 해줍니다. 엮다. 이러한 방식은 전역 함수 eval()과 유사합니다.

Function() 생성자는 함수 본문을 구문 분석하고 실행될 때마다 새 함수 개체를 만듭니다. 따라서 루프나 자주 실행되는 함수에서 Function() 생성자를 호출하는 효율성은 매우 낮습니다. 대조적으로, 함수 리터럴은 만날 때마다 다시 컴파일되지 않습니다.

Function() 생성자를 사용하여 함수를 생성하면 일반적인 범위를 따르지 않으며 항상 최상위 함수로 실행됩니다.

var y = "global";

function constructionFunction() { var y = "local"; return new Function("return y") // 지역 변수를 얻을 수 없습니다.} Alert(constructFunction()()); // 출력 "전역" 및 함수 키워드 정의는 고유한 특성을 가지며 Function() 생성자보다 사용하기가 훨씬 어렵기 때문에 일반적으로 이 기술은 거의 사용되지 않습니다.

함수 리터럴 표현과 함수 키워드 정의는 매우 가깝습니다.

이전 차이점을 고려하면, OS 익명 함수의 일부 웹킷 엔진에 리터럴 익명 함수에 버그가 있다는 소식이 있습니다.

3. 익명 함수의 코드 패턴

오류 모드: 작동할 수 없으며 브라우저에서 구문 오류를 보고합니다. function(){ 경고(1); }();

함수 리터럴: 먼저 함수 개체를 선언한 다음 실행합니다.

(function(){ 경고(1); } ) ( );

우선순위 표현식:

( function(){ 경고(2); } ( ) );

void 연산자:

void function(){ Alert(3); }() 이 세 가지 방법은 동일합니다. hedger Wang은 개인적인 이유로 세 번째 방법을 선호하지만 실제 응용 프로그램에서는 첫 번째 방법을 사용합니다.

4. 익명 함수 적용

"자바스크립트의 모듈 패턴"의 첫 문장은 "전역 변수는 악마다"입니다. var 키워드를 사용하면 익명 함수는 전역 변수를 오염시키지 않고 Javascript가 페이지에 작성되도록 효과적으로 보장할 수 있습니다.

익숙하지 않은 페이지에 Javascript를 추가할 때 매우 효과적이고 아름답습니다.

실제로 익명 함수는 YUI 및 해당 패러다임에서 널리 사용되며 다른 Javascript 라이브러리에서도 널리 사용됩니다.

Javascript는 함수형 프로그래밍의 초석입니다.

자세한 내용은 "함수형 프로그래밍 기법으로 아름다운 JavaScript 작성하기" 및 "함수형 JavaScript 프로그래밍 가이드"를 참조하세요.

위 내용은 모두를 위해 제가 정리한 내용입니다. 앞으로 모든 사람에게 도움이 되기를 바랍니다.

관련 글:

javascript 프로토타입 프로토타입 상세 설명(기본 강좌)

JavaScript 쿠키 상세 설명 및 간단한 예제 적용(그래픽 튜토리얼)

자바스크립트 주석 코드의 여러 방법(그래픽 튜토리얼)


위 내용은 JavaScript에서 익명 함수의 사용법, 장점 및 단점에 대한 자세한 설명(그래픽 튜토리얼)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!