다만, 자바 스크립트가 정적과 같은 키워드를 제공하지 않는 정적 클래스와 클래스를 지정하는 정적 키워드를 사용하는 클래스를 만들 때 언어의 자바 스크립트 객체 지향 기능이 약한 다른 객체 지향 언어 인 자바 스크립트는 오직하여 "정적"특성을해야 다음은 몇 가지 "영리하지만 쓸모없는".
코드 구현 정적 두가지 방법이 포함 / 클래스의 속성이 정적 특성 및 정적 메소드 정적 메소드와 다른 특성 인 비 정적 클래스 코드 기술은 코드 코멘트 라인마다 작성된 반복하지.
JAVASCRIPT :
-
/ ****************************************
-
* 방법 1
-
* 클래스, 메소드, 프로퍼티 정적 유형
-
* 당신은 인스턴스를 만들 수 없습니다
-
***************************************** /
-
var에 시간 = {
-
오늘 : '2009년 3월 8일' ,
-
날씨 : '비' ,
-
표시 : 함수 ( ) {
-
경고 ( '오늘은' + 이 . 오늘 ) ;
-
}
-
} ;
-
-
// 정적 객체 인스턴스를 생성 할 필요없이 직접적으로 사용될 수있다
-
경고 ( '때문이다' + 시간. 날씨 + '오늘.' ) ;
-
시각. 쇼 ( ) ;
-
-
정적 클래스는 인스턴스를 생성 할 수 없기 때문에 // 다음 코드는 잘못된 것입니다
-
// var에 t = 새 시간 ();
-
//t.show ();
-
-
/ ****************************************
-
* 두 번째 방법
-
* 일반 오브젝트는 정적 비 정적 속성, 방법 모두 가지고
-
* 인스턴스화 할 수
-
* 참고 :
-
* 1. 정적 메소드 / 속성 액세스 클래스 이름을 사용하여
-
액세스 인스턴스 명을 사용 * 2. 비 정적 메소드 / 속성
-
***************************************** /
-
함수 사람 ( 이름 ) {
-
// 비 정적 특성
-
이 . 이름 = 이름 ;
-
// 비 정적 메소드
-
이 . 쇼 = 함수 ( ) {
-
경고 ( '내 이름은' + 이 . 이름 + '.' ) ;
-
}
-
}
-
// 모든 사람에게 입을 정적 속성을 추가 할 수 있지만
-
사람. 입 = 1 ;
-
정적 메소드를 추가 // 울었다
-
사람. 울 = 함수 ( ) {
-
alert ( 'Wa wa wa ...' ) ;
-
} ;
-
// 프로토 타입 키워드를 사용하여 비 정적 속성을 추가, 각 사람의 치아는 많이하지 않을 수 있습니다
-
사람. 프로토 타입 . 치아 = 32 ;
-
-
// 비 정적 메소드는 클래스의 인스턴스를 통해 액세스 할 수 있어야합니다
-
var me = new Person ( ‘Zhangsan’ );
-
//使用非静态方法、属性
-
me. show ( );
-
alert ( ‘I have ‘ + me. teeth + ‘ teeth.’ );
-
//使用静态方法、属性
-
Person. cry ( );
-
alert ( ‘I have ‘ + Person. mouth + ‘ mouth.’ );
转载于:https://www.cnblogs.com/200831856/archive/2009/09/15/javascript_static_1.html