Javascript var 변수 삭제 원리 및 구현
1362 단어 Javascriptvar변량
var 성명 의 전역 변수var 함수 범위 내 에서 성명 한 부분 변수eval 에서 설명 한 전역 변수우선
1,2 가지 상황 var 성명 의 변 수 는 삭제 할 수 없습니다.
var 가 설명 한 전역 변 수 는 window 대상 의 속성(브 라 우 저 에서)이지 만 삭제 할 수 없습니다.이러한 속성의 configurable=false 이기 때문에 delete 할 수 없습니다.
부분 변 수 는 말 할 필요 도 없고 var 변수 가 의존 하 는 대상 도 어디 에 있 는 지 모 르 기 때문에 삭제 할 수 없습니다.
한편,eval('vara=1')은 직접 var 와 같은 효과(물론 전역 적 으로 eval 을 실행 합 니 다)로 보 입 니 다.실행 이 끝나 면 window 대상 에 a 속성 을 만 들 지만 이 속성의 configurable=true 는 삭제 할 수 있 습 니 다.
<script type="text/javascript">
var a = 1;
console.log(Object.getOwnPropertyDescriptor(window, 'a')); //false
aa=1;
console.log(Object.getOwnPropertyDescriptor(window, 'aa')); //true
with({}) {
var b = 1;
console.log(Object.getOwnPropertyDescriptor(window, 'b')); //false
console.log(delete b);
}
eval('var c = 1');
console.log(Object.getOwnPropertyDescriptor(window, 'c')); //true
</script>
함수 삭제 안 돼 요.국부 작용 역 의 함수 도 삭제 할 수 없습니다
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Javascript에서 Math.max와 Math.max.apply의 차이점과 용법 상세 설명최근에 작은 사례를 만들 때 Math를 만났어요.max.apply라는 용법은 이전에 보기 드물게 재미있게 느껴졌으니 기록해 보세요. 1Math.max 문법:Math.max(n1,n2,n3,...,nX)반환값:max(...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.