미리보기 기능 개체 및 폐쇄

개체 만들기;

(1) 직접 객체의 양.

    VAR 포인트 = {X : 0, Y는 0} // 점은 반드시 오브젝트를 생성하는 클래스를 가질 필요가없는 다른 C 번호와 개체이다.

  2에 의해 새로운 객체를 생성

    VAR (D)는 새로운 날짜 () =; // Date 객체를 생성

  3 프로토

    Object.prototype에 // 객체의 프로토 타입에 대한 참조를 가져 오는 데 사용. 모든 개체는 Object.prototype에 직접 또는 간접적으로, 상응하는 System.Object C # ()로부터 상속이고;

    Date.prototype하기 및 Object.prototype에의 새로운 날짜에 의해 만들어진 개체 () 상속.

  4 Object.create ()

    Object.create ()는 새로운 객체를 생성하는 데 사용할 수 있습니다, 정적 기능입니다.

 

  단지 자신의 재산을 삭제할 수 있습니다 () 삭제 () 메소드, 상속 재산은 삭제할 수 없습니다. 삭제 () 간단하게 분리 특성과 호스트 객체, 속성은 다시 작업없이 속성.

A = {VAR의 
            저자 "Jiangquhai" 
            번호 : (123) 
        } 
        삭제 a.author]이 코드 라인은 또한 삭제 쓸 수 // [ "저자"] 
        document.write를 (a.author) //a.author 값 이 삭제 된 것처럼이 정의되지 


객체 속성을 포함하는지 여부를 검출하는 년
O = {var에 
            X :. 1 
        }  
        document.write를 (O에서 "X"); // 사실 X O를 돌려줍니다 속성이다 
        (O에서 "Y") document.write를 ; // 속성이 아닙니다 오 false를 반환 Y를 

hasOwnProperty () 오브젝트는 속성을 포함하는지 여부를 검출
O = {VAR 
            X :. 1 
        } 
        document.write를 (o.hasOwnProperty ( "X")); // 반환 "X"이라는 속성 함유 사실 O 
        (o.hasOwnProperty ( "Y")를 document.write를 ); // false를 반환 O는의 명명 된 속성 "y"를 포함하지 않는 

특성 속성을

 쓰기는 : 쓰기입니다.

    열거는 : 열거입니다.

    구성 : 구성 여부.

 

클로저

 

function outer() { var a = '变量1' var inner = function () { console.info(a) } return inner // inner 就是一个闭包函数,因为他能够访问到outer函数的作用域 }


클로저는 세 가지 특성이 있습니다 :  

  1. 중첩 된 기능을 작동합니다.
  2. 내부 기능은 외부 매개 변수를 참조 할 수있다.
  3. 매개 변수 및 변수는 가비지 수집 메커니즘되지 않습니다.

혜택의 폐쇄 :

  1. 우리는 메모리에서 변수 장기 저장을 할 수 있습니다.
  2. 글로벌 변수의 피 오염.
  3. 개인 회원의 존재

폐쇄 패키지의 단점 :

  1. 영구 메모리, 메모리 사용량이 증가합니다. 재활용 쓰레기 수집 메커니즘이 될 수 없습니다;
  2. 잘못 사용하면 메모리 누수가 발생할 가능성이 높습니다.

추천

출처www.cnblogs.com/jiangquhan/p/11827074.html