<スクリプト言語="javascript">
関数円(半径)
{//この関数はクラス自体を定義します。次の r はコンストラクターによって定義および初期化されるインスタンス変数です。
this.r=半径;
}
//この属性はクラス変数であり、コンストラクターの属性です
サークル.PI=3.14159;
関数エリア()
{//これはもちろん円の面積を求める公式です。
this.PI * this.r * this.r を返します。
}
// 以下では、コンストラクターの循環オブジェクトに関数を代入してインスタンス メソッドにします。
// Navigator3 と互換性を持たせるためには、プロトタイプ オブジェクトが生成される前にオブジェクトを作成して破棄する必要があります
新しいサークル(0);
サークル.プロトタイプ.エリア=エリア;
//以下は 2 つのパラメータを比較し、大きい方を返す別の関数です。
functioncircel_max(a,b)
{
if(ar > br)
を返します。
それ以外
bを返します。
}
//この関数は 2 つのオブジェクトを比較するため、単一の 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;//虚数部
}
/**//*関数クラスを定義する 2 番目のステップは、コンストラクターのプロトタイプ オブジェクトでそのインスタンス メソッド (または他の属性) を定義することです。
このオブジェクトによって定義されたプロパティは、このクラスのすべてのインスタンスによって継承されます。多くのメソッドは、このキーワードを暗黙的に処理します。
*/
//複素数のサイズを返します。これは原点 (0,0) から複素平面までの距離として定義されます。
JScript.prototype.magnitude=function()
{
return Math.sqrt(this.x * this.x + this.y * this.y);
};
// 複素数の逆を返す
JScript.prototype.negative=function()
{
return new JScript(-this.x,-this.y);
};
// JScript オブジェクトを効率的な方法で文字列に変換します。これは、JScript オブジェクトを文字列として使用するときに呼び出される関数です。
JScript.prototype.toString=function()
{
"{"+ this.x +","+ this.y +"}" を返します。
};
// 複素数の実部を返します。この関数は、JScript オブジェクトをプリミティブ値として処理するときに呼び出されます。
JScript.prototype.valueOf=function() {return this.x;};
/**//*クラス定義の 3 番目のステップは、クラス メソッドを定義することです。
定数およびその他のクラス変数は、(コンストラクターのプロトタイプ オブジェクトのプロパティではなく) 関数コンストラクター自体のプロパティです。
静的メソッドはパラメーターのみを操作するため、 this キーワードを使用しないことに注意してください。
*/
// 2 つの複素数の合計を計算し、結果を返します
JScript.add()=関数(a,b)
{
return new JScript(ax + bx ,ay + by);
};
// ある複素数から別の複素数を減算し、結果を返します
JScript.subtract()=関数(a,b)
{
return new JScript(ax - bx, ay - by);
};
// 2 つの複素数の積を計算し、結果を返します
JScript.multiply()=関数(a,b)
{
return new JScript(ax * bx - ay * by , ax * bx + xy * by);
/
**//*以下は、いくつかの便利な事前定義された複数形です。これらは定数として使用できるようにクラス変数として定義されています (実際には読み取り専用ではないことに注意してください)。
*/
JScript.zero=新しい JScript(0,0);
JScript.one=新しい JScript(1.0);
JScript.i=新しい JScript(0.1);