<스크립트 언어="자바스크립트">
함수circel(반경)
{//이 함수는 클래스 자체를 정의합니다. 다음 r은 생성자에 의해 정의되고 초기화되는 인스턴스 변수입니다.
this.r=반경;
}
//이 속성은 생성자의 속성인 클래스 변수입니다.
원.PI=3.14159;
기능 영역()
{//물론 원의 면적을 구하는 공식입니다.
return this.PI * this.r * this.r;
}
// 아래에서는 생성자의 순환 객체에 함수를 할당하여 인스턴스 메서드로 만듭니다.
//Navigator3과 호환되기 위해서는 프로토타입 객체가 생성되기 전에 객체를 생성하고 폐기해야 합니다.
새로운서클(0);
Circle.prototype.area=area;
//다음은 두 매개변수를 비교하고 더 큰 매개변수를 반환하는 또 다른 함수입니다.
functioncircel_max(a,b)
{
if(ar > br)
반환하다;
또 다른
b를 반환;
}
//이 함수는 두 개체를 비교하기 때문에 단일 Circel 인스턴스 메서드에 대한 작업으로 처리하는 것은 의미가 없습니다.
//그러나 우리는 독립된 함수가 되고 싶지 않기 때문에 생성자를 할당하고 클래스 메서드로 만듭니다.
circel.max=circel_max;
//다음 코드는 원의 다양한 필드를 사용합니다.
var c=new circel(1.0); //circel 클래스의 인스턴스를 생성합니다.
cr=2.2; //인스턴스의 변수 r을 설정합니다.
var a=c.area(); //인스턴스의 영역 메소드 호출
var x=Math.exp(circel.PI); //자체 계산에 변수 PI를 사용합니다.
var d=new circel(1.2); //다른 circel 인스턴스 생성
var big=circel.max(c,d);//클래스 메소드 circel.max 사용
</script>
JScript.js 파일
/**//* JScript 파일 복소수는 허수와 허수의 합입니다. 허수 i는 -1의 제곱근입니다.
*/
/**//*클래스 정의의 첫 번째 단계는 클래스의 생성자를 정의하는 것입니다. 정규 생성자는 객체의 모든 인스턴스 함수를 초기화합니다. 이러한 속성은 클래스의 각 인스턴스를 활성화하는 핵심 "상태 변수"입니다. 서로 상호 작용하는 수업은 동일하지 않습니다.
*/
함수 JScript(real,img)
{
this.x=real;//실수 부분
this.y=img;//가상부분
}
/**//*함수 클래스 정의의 두 번째 단계는 생성자의 프로토타입 객체에 해당 인스턴스 메서드(또는 기타 속성)를 정의하는 것입니다.
이 객체에 의해 정의된 모든 속성은 이 클래스의 모든 인스턴스에 의해 상속됩니다. 인스턴스 메서드는 암시적으로 this 키워드에 대해 작동합니다.
*/
//원점(0,0)에서 복소 평면까지의 거리로 정의되는 복소수의 크기를 반환합니다.
JScript.prototype.magnitude=함수()
{
return Math.sqrt(this.x * this.x + this.y * this.y);
};
//복소수의 반대값을 반환합니다.
JScript.prototype.negative=함수()
{
return new JScript(-this.x,-this.y);
};
// JScript 객체를 효율적으로 문자열로 변환합니다. JScript 객체를 문자열로 사용할 때 호출되는 함수입니다.
JScript.prototype.toString=함수()
{
return "{"+ this.x +","+ this.y +"}";
};
//복소수의 실수부를 반환합니다. JScript 개체를 기본 값으로 처리할 때 이 함수가 호출됩니다.
JScript.prototype.valueOf=function() {return this.x;};
/**//*클래스 정의의 세 번째 단계는 클래스 메서드를 정의하는 것입니다.
상수 및 기타 클래스 변수는 함수 생성자 자체의 속성입니다(생성자의 프로토타입 객체 속성이 아님).
정적 메소드는 매개변수에만 작동하므로 this 키워드를 사용하지 않습니다.
*/
//두 복소수의 합을 계산하고 결과를 반환합니다.
JScript.add()=함수(a,b)
{
return new JScript(ax + bx ,ay + by);
};
//다른 복소수에서 하나의 복소수를 빼고 결과를 반환합니다.
JScript.subtract()=함수(a,b)
{
return new JScript(ax - bx, ay - by);
};
//두 복소수의 곱을 계산하고 결과를 반환합니다.
JScript.multiply()=함수(a,b)
{
return new JScript(ax * bx - ay * by , ax * bx + xy * by);
};
/**//*다음은 미리 정의된 몇 가지 유용한 복수형입니다. 이는 상수로 사용할 수 있도록 클래스 변수로 정의됩니다(실제로는 읽기 전용이 아닙니다).
*/
JScript.zero=new JScript(0,0);
JScript.one=새 JScript(1.0);
JScript.i=새 JScript(0.1);