제4장: 변수, 역할 영역과 메모리 문제

1928 단어
1. 기본 유형과 인용 유형의 값
1. 정의
  • 기본 형식 값: 데이터 세그먼트, 예를 들어undefined,null,boolean,number,string
  • 인용 유형 값: 여러 값으로 구성된 대상, 인용에 따라 접근
  • 2. 동적 속성 인용 유형의 값은 속성과 방법을 추가, 수정, 삭제할 수 있지만 기본 유형의 값은 안 된다.
    3. 변수 값 복사
  • 기본 형식 값을 복제하면 변수 대상에 새 값을 만들고 이 값을 새 변수에 분배된 위치로 복제하지 않습니다
  • 인용 형식 값을 복제할 때 새 값의 복사본은 사실상 지침이고 지침은 저장소의 원래 대상을 가리킨다
  • var obj1 = new Object();
    var obj2 = obj1;
    obj1.name = "Nicholas";
    alert(obj2.name);   //"Nicholas"
    

    4. 전달 매개 변수는 값에 따라 전달한다.기본 유형 값의 전달은 기본 유형 변수의 복제와 마찬가지로 인용 유형 값의 전달은 인용 유형 변수의 복제와 같다(ECMAScript 함수의 매개 변수를 국부 변수로 상상할 수 있다)
    function addTen(num){
        num += 10;
        return num;
    }
    var count = 20;
    var result = addTen(count);
    alert(count);  //20, 
    alert(result);  //30
    
    function setName(obj){
        obj.name = "Nicholas";
    }
    var person = new Object();
    setName(person);
    alert(person.name);  //"Nicholas"
    

    5. 검측 유형 기본 유형 값은 typeof 조작부호, 인용 유형 값은 instanceof 조작부호
    var s = "Nicholas";
    var o = new Object();
    alert(typeof s);  //string
    alert(typeof o);  //object
    
    alert(person instanceof Object);  //true
    

    2. 실행 환경 및 역할 영역 1.실행 환경이 무엇인지 정의합니다. 실행 환경은 변수나 함수가 접근할 수 있는 다른 데이터를 정의합니다.환경에 정의된 모든 변수와 함수는 이 환경의 변수 대상에 저장됩니다.
    실행 환경 삭제: 모든 전역 변수와 함수는 window 대상의 속성과 방법으로 만들어집니다.어떤 실행 환경의 모든 코드가 실행된 후에 환경을 바꾸면 소각되고 그 안에 저장된 모든 변수와 함수 정의도 소각됩니다(웹 페이지 전역 환경 소각을 닫습니다)
    실행 환경의 메커니즘과 상해: 모든 함수는 자신의 실행 환경을 가지고 있다.실행 흐름이 함수에 들어갈 때, 함수의 실행 환경은 환경 창고에 밀어 넣는다.함수가 실행되면 창고는 그 환경을 팝업하여 제어권을 이전의 실행 환경에 되돌려줍니다.
    코드가 한 환경에서 실행될 때 변수 대상의 역할 체인을 만들어서 환경 내 변수와 함수의 질서정연한 접근에 사용합니다.역할 체인의 다음 변수 대상은 외부 환경에서 온다.[표지부 해석은 작용역 체인에 따라 동명은 첫 번째를 사용한다]
    변수의 실행 환경은 효율을 높이고 메모리를 언제 방출할지 결정하는 데 도움이 된다
    3. 쓰레기 수집
  • 고정된 시간 간격에서 더 이상 사용하지 않는 변수를 찾아내고 차지하는 메모리를 방출한다.
  • 역할 영역에서 벗어나는 값은 자동으로 회수할 수 있다고 표시되므로 쓰레기 수집 기간에 삭제
  • null로 인용 해제
  • 좋은 웹페이지 즐겨찾기