가장 간단 한 예 를 들 어 OO 의 자바 스 크 립 트 를 Ynwp 에서 선택 한 블 로 그 를 설명 합 니 다.

2115 단어
가장 간단 한 예 를 들 어 OO 의 자바 스 크 립 트 를 Ynwp 에서 선택 한 블 로 그 를 설명 합 니 다.
  OO 의 자바 스 크 립 트 는 그리 깊 지 않 습 니 다. 귀 찮 으 면 구 글 에서 나 온 국민 들 의 소개 글 이 자주 수 다스 럽 고 그 사이 의 표현 이 각각 다 르 기 때문에 함께 놓 으 면 머리 가 커 집 니 다.여기 서 단순 주 의 를 되 찾 고 가장 간단 한 예 로 OO Javascript 을 설명 합 니 다.1. 아주 간단 한 예 는 세 가지 키워드 만 이해 해 야 한다. 첫 번 째 는 function 이 고 JS 세계 에서 Class 의 정 의 는 'function' 이 며 function 안의 내용 은 구조 함수 의 내용 이다.두 번 째 는 this 지침 으로 이 함 수 를 호출 하 는 대상 을 대표 합 니 다.세 번 째 는 prototype 입 니 다. 이 를 통 해 구성원 함 수 를 정의 하고 규범 과 보험 을 비교 합 니 다.
//  Circle ,      r,  PI          area()
function Circle(radius)
{  
  this.r = radius;
}
Circle.PI = 3.14159;
Circle.prototype.area = function(  ) {return Circle.PI * this.r * this.r;}
//  Circle 
var c = new Circle(1.0);  
alert(c.area());
다른 구성원 함수 정 의 는 이렇게 쓸 수 있다.
function compute_area(){return Circle.PI * this.r * this.r;}
Circle.prototype.area=compute_area;
2. 상속 주의 점 1. 상속 관 계 를 정의 하 는 ChildCircle. prototype = new Circle (0).그 중 0 은 자 리 를 차지 하 는 데 쓰 이 는 2. 부류 의 구조 함 수 를 호출한다      this.base=Circle;     this.base(radius);
//  ChildCircle  
function ChildCircle(radius)
{  
     this.base=Circle;
     this.base(radius);
}

ChildCircle.prototype=new Circle(0);
function Circle_max(a,b)
{
    if (a.r > b.r) return a;

    else return b;
}
ChildCircle.max = Circle_max;
//  ChildCircle  
var c = new ChildCircle(1);
var d = new ChildCircle(2);  
var bigger = d.max(c,d);
alert(bigger.area());
3. var 식 정의 JS 는 var Circle = {raidus: 1.0, PI: 3.1415} 의 형식 도 지원 합 니 다. 문법 은 CSS 의 정의 와 같 습 니 다.따라서 Circle 이 하나의 인 스 턴 스 만 있다 면 아래 의 정의 방식 은 더욱 간결 합 니 다.
var newCircle=
{
r:1.0,
PI:3.1415,
area: function(){ return this.PI * this.r * this.r;}
};
alert(newCircle.area());
BTW. 배 불리 먹 었 습 니 다. 레일 스 가 가 져 온 OO 자 바스 크 립 트 라 이브 러 리 인 Prototype 을 볼 수 있 습 니 다. 사실 자 바스 크 립 트 의 현재 문법 은 그렇게 어색 하 게 OO 모드 로 쓰 는 것 에 적합 하지 않 습 니 다.

좋은 웹페이지 즐겨찾기