JavaScript 변수 설정 해제
문제:
JavaScript의 전역 변수를 설정하고 여러 스크립트에 의해 액세스됩니다. 그러나 후속 스크립트가 해당 변수의 존재나 값을 감지할 수 없도록 전역 범위에서 변수를 제거해야 하는 경우가 있을 수 있습니다.
해결책:
JavaScript 변수를 설정 해제하는 올바른 접근 방식은 변수가 처음 정의된 방식에 따라 다릅니다.
1. var:
으로 정의된 변수 var 키워드를 사용하여 선언된 변수는 delete 연산자를 사용하여 설정을 해제할 수 없습니다. 전역 범위에 영구적으로 연결되어 제거할 수 없습니다.
var globalVar = 1; delete globalVar; // Returns false console.log(globalVar); // Outputs 1
2. var 없이 정의된 변수:
var 키워드 없이 생성된 변수는 전역 개체(일반적으로 window)에 암시적으로 연결됩니다. 삭제 연산자를 사용하여 설정을 해제할 수 있습니다.
globalVar = 1; delete globalVar; // Returns true console.log(globalVar); // Throws ReferenceError
기술적 설명:
ECMAScript 사양은 변수가 저장되는 두 가지 유형의 환경을 정의합니다.
var로 선언된 변수는 현재 범위에 연결된 VariableEnvironment에 저장됩니다. 이러한 변수를 제거하려면 일반적으로 브라우저 기반 환경에서 사용되지 않는 평가 컨텍스트에서 코드를 실행해야 합니다.
var 없이 정의된 변수는 중첩된 LexicalEnvironment에 있습니다. 현재 환경에서 변수를 찾을 수 없는 경우 JavaScript는 상위 환경을 검색합니다. 궁극적으로 전역 개체에서 속성을 검색하려고 시도합니다. 객체의 속성은 삭제할 수 있습니다.
참고:
위 내용은 JavaScript 변수를 어떻게 설정 해제합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!