심오 하고 얕 은 js 폐쇄 지식 정리 (1)
선언: 대부분의 프로 그래 밍 언어 와 마찬가지 로 js 도 어법 작용 역, 즉 함수 의 집행 은 변수 작용 역 에 의존한다. 이 작용 역 은 함수 가 정 의 될 때 결정 되 는 것 이지 함수 가 호출 될 때 결정 되 는 것 이 아니다.함수 대상 은 역할 도 메 인 체인 을 통 해 연결 할 수 있 습 니 다. 함수 체 내부 의 변 수 는 모두 함수 역할 도 메 인 에서 유지 할 수 있 습 니 다. 이런 특성 은 컴퓨터 문헌 에서
(= 함 의 는 함수 변수 가 역할 도 메 인 체인 에 숨 길 수 있 기 때문에 함수 가 변 수 를 감 싸 는 것 처럼 보 입 니 다 =).우선 코드 를 살 펴 보 겠 습 니 다.
var scope = 'global scope' //
function checkScope(){
var scope = 'local scope';//
function f(){ //
console.log(scope);
};
return f() // f
};
checkScope(); // local scope;
이 코드 는 쉽게 알 아 볼 수 있 습 니 다. checkScope 를 호출 할 때 이 함수 내부 에서 f 의 운행 결 과 를 되 돌려 줍 니 다.다음 에 우 리 는 위의 코드 를 약간 개조 합 니 다.
var scope = 'global scope' //
function checkScope(){
var scope = 'local scope';//
function f(){ //
console.log(scope);
};
return f // f
};
checkScope()(); // local scope;
* 8195: 8195: 현재 checkScope 를 호출 할 때 돌아 오 는 것 은 하나의 함수 대상 일 뿐 입 니 다. 이때 checkScope 외부 에서 이 함수 대상 을 호출 하면 그의 반환 결 과 는 global scope 가 아 닌 local scope 입 니 다.『 8195 』 원리: js 의 집행 은 역할 도 메 인 체인 을 사 용 했 는데 이 역할 도 메 인 체인 은 함수 정의 에서 만 든 것 이다.내장 함수 f 는 이 역할 도 메 인 체인 에 정의 되 어 있 습 니 다. 그 중의 scope 는 부분 변수 일 것 입 니 다. 언제든지 f 를 실행 하 더 라 도 이러한 바 인 딩 은 f 를 실행 할 때 유효 합 니 다.(패키지 의 이러한 특성 은 놀 랄 정도 로 강하 다. 국부 변수 (인자 와) 를 포착 하고 계속 저장 할 수 있다.
QQ 그룹 가입, 더 많은 동료 들 과 함께 행복 하 세 요!!!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.