js 진급--- 익명 함수 및 함수 패키지
1. 익명 함수
1.1 함수의 정의는 먼저 함수의 정의를 간단하게 소개하는데 크게 세 가지 방식으로 나눌 수 있다
첫 번째: 이것도 가장 일반적인 것이다
function double(x){
return 2 * x;
}
두 번째: 이런 방법은 Function 구조 함수를 사용했는데 매개 변수 목록과 함수체를 문자열로 하는 것은 매우 불편하고 사용을 권장하지 않습니다.
var double = new Function('x', 'return 2 * x;');
세 번째:
var square= function(x) { return 2* x; }
"="오른쪽의 함수는 익명 함수입니다. 함수를 만든 후에 이 함수를 변수 square에 부여합니다.
1.2 익명 함수 생성
첫 번째 방식: 위에서 말한 정의 square 함수인데 이것도 가장 자주 사용하는 방식 중의 하나이다.
두 번째 방식: 괄호 하나 이상 읽기 강화
(function(x, y){
alert(x + y);
})(2, 3);
여기에 익명 함수 (첫 번째 괄호 안에) 를 만들었습니다. 두 번째 괄호는 이 익명 함수를 호출하고 인자를 전송하는 데 사용됩니다.
2. 패키지 닫기
패키지를 닫는 의미: 패키지를 닫으면 함수의 끼워넣기입니다. 내부의 함수는 외부 함수의 모든 변수를 사용할 수 있습니다. 외부 함수가 실행되었더라도.다음 예를 들어 장면 사용
코드 최적화를 위한 함수 내 익명 함수 예시
function checkClosure(){
var str = 'rain-man';
setTimeout(
function(){ alert(str); } //
, 2000);
}
checkClosure();
checkClosure가 실행된 후str가 방출되지 않았습니다. 이것은 setTimeout 내의 익명 함수에 이str의 인용이 존재하기 때문입니다.2초가 지나서야 함수 안에 있는 익명 함수가 실행되고str가 방출됩니다.
예 2: 패키지 닫기 만들기
var oEvent = {};
(function(){
var addEvent = function(){ /* */ };
function removeEvent(){}
oEvent.addEvent = addEvent;
oEvent.removeEvent = removeEvent;
})();
대상 oEvent는 내부 변수를 가리키기 때문에 메모리에서 방출되지 않습니다.이것은 전체 변수의 사용을 크게 줄이고 웹 페이지의 안전성을 강화시켰다.두 번째 () 시작 함수는 작업 과정을 실행합니다.
예 3: 로컬 변수 사용
var outer = null;
(function(){
var one = 1;
function inner (){
one += 1;
alert(one);
}
outer = inner;
})();
outer(); //2
outer(); //3
outer(); //4
이 코드의 변수one는 국부 변수 (한 함수 안에 정의되어 있기 때문에) 이기 때문에 외부에 접근할 수 없습니다.그러나 여기서 우리는 inner 함수를 만들었습니다. inner 함수는 변수one에 접근할 수 있습니다.전역 변수 outer를 inner를 인용했기 때문에 outer를 세 번 호출하면 점차적으로 증가하는 결과가 나온다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.