> 웹 프론트엔드 > JS 튜토리얼 > JavaScript 클로저 시작하기 예제_기본 지식

JavaScript 클로저 시작하기 예제_기본 지식

WBOY
풀어 주다: 2016-05-16 16:50:35
원래의
1175명이 탐색했습니다.

1.

코드 복사 코드는 다음과 같습니다.

functionsay667(){
varnum=666;
varsayAlert=function(){alert(num);}
num ;
returnsayAlert;
}

varsayAlert=say667();
sayAlert();

2.

코드 복사 코드는 다음과 같습니다.

functionsetUpSomeGlobals(){
varnum=666;
gAlertNumber=함수(){alert(숫자);}
gIncreaseNumber=함수(){숫자 ;}
gSetNumber=함수(x){num=x;}
}

setUpSomeGlobals();//세 개의 전역 변수에 값 할당
gAlertNumber();//666
gIncreaseNumber();
gAlertNumber();//667
gSetNumber(12 );
gAlertNumber();//12

3.

코드 복사 코드는 다음과 같습니다.

functionbuildList(list) {
varresult=[];
for(vari=0;ivariiteml='item' list[i];
result.push(function() {alert( 항목 '' 목록[i]);});
}
returnresult;
}

functiontestList(){
varfnlist=buildList([1,2,3]);
for(varj=0;jfnlist[j]() ;
}
}

4.

코드 복사 코드는 다음과 같습니다.

functionsayAlice(){
varsayAlert=function(){alert(alice);}
varalice='HelloAlice';
returnsayAlert;
}

varhelloAlice=sayAlice();
helloAlice();//HelloAlice

5.

코드 복사 코드는 다음과 같습니다.

functionnewClosure(someNum, someRef){
varnum=someNum;
varanArray=[1,2,3];
varref=someRef;
returnfunction(x){
num =x;
anArray. push(num );
alert('num:' num 'nanArray' anArray.toString() 'nref.someVar' ref.someVar);
}
}

closure1=newClosure(40,{someVar:'closure1'});
closure2=newClosure(1000,{someVar:'closure2'});

클로저1(5);
클로저2(-10);

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