Javascript var 변수 삭제 원리 및 구현

1362 단어 Javascriptvar변량
var 는 세 가지 성명 의 상황 이 있다.
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>
함수 삭제 안 돼 요.

국부 작용 역 의 함수 도 삭제 할 수 없습니다

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기