<skrip bahasa="javascript">
fungsilingkaran(radius)
{//Fungsi ini mendefinisikan kelas itu sendiri. R berikut adalah variabel instance yang ditentukan dan diinisialisasi oleh konstruktor.
ini.r=radius;
}
//Atribut ini adalah variabel kelas, yang merupakan atribut konstruktor
lingkaran.PI=3.14159;
area fungsi()
{//Ini tentu saja rumus menghitung luas lingkaran.
kembalikan ini.PI * ini.r * ini.r;
}
// Di bawah ini kita menjadikannya metode instance dengan menugaskan fungsi tersebut ke objek melingkar konstruktor.
//Agar kompatibel dengan Navigator3, kita harus membuat dan membuang sebuah objek sebelum objek prototipe dibuat
lingkaran baru(0);
lingkaran.prototipe.area=luas;
//Berikut ini adalah fungsi lain yang membandingkan dua parameter dan mengembalikan parameter yang lebih besar
fungsicircel_max(a,b)
{
jika(ar > br)
kembalikan a;
kalau tidak
kembali b;
}
//Karena fungsi ini membandingkan dua objek, tidak masuk akal untuk memperlakukannya sebagai operasi pada metode instance Circel tunggal.
//Tetapi kami tidak ingin menjadi fungsi independen, jadi kami menetapkannya sebagai konstruktor dan menjadikannya metode kelas.
circel.max=circel_max;
//Kode berikut menggunakan berbagai bidang lingkaran
var c=new circel(1.0); //Buat sebuah instance dari kelas circel
cr=2.2; //Tetapkan variabel r pada instance
var a=c.area(); //Panggil metode area dari instance
var x=Math.exp(circel.PI); //Gunakan variabel PI dalam perhitungan kita sendiri
var d=lingkaran baru(1.2); //Buat instance lingkaran lainnya
var lebih besar=circel.max(c,d);//Gunakan metode kelas circel.max
</skrip>
File JScript.js
/**//* File JScript Bilangan kompleks adalah jumlah bilangan imajiner dan bilangan imajiner Bilangan imajiner i adalah akar kuadrat dari -1
*/
/**//*Langkah pertama dalam mendefinisikan kelas adalah mendefinisikan konstruktor kelas. Konstruktor yang memenuhi syarat menginisialisasi semua fungsi instance objek. Atribut ini adalah "variabel status" inti yang mengaktifkan setiap instance dari kelas untuk berinteraksi satu sama lain
*/
fungsi JScript(nyata,img)
{
this.x=real;//bagian nyata
this.y=img;//Bagian imajiner
}
/**//*Langkah kedua dalam mendefinisikan kelas fungsi adalah mendefinisikan metode instance (atau atribut lainnya) dalam objek prototipe konstruktor
Setiap properti yang didefinisikan oleh objek ini akan diwarisi oleh semua instance kelas ini. Perhatikan bahwa metode instance secara implisit beroperasi pada kata kunci ini.
*/
//Mengembalikan ukuran bilangan kompleks, yang didefinisikan sebagai jarak dari titik asal (0,0) ke bidang kompleks
JScript.prototype.magnitude=fungsi()
{
return Math.sqrt(ini.x * ini.x + ini.y * ini.y);
};
//Mengembalikan kebalikan dari bilangan kompleks
JScript.prototipe.negatif=fungsi()
{
kembalikan JScript baru(-ini.x,-ini.y);
};
// Ubah objek JScript menjadi string dengan cara yang efisien. Ini akan menjadi fungsi yang dipanggil saat menggunakan objek JScript sebagai string.
JScript.prototipe.toString=fungsi()
{
kembalikan "{"+ ini.x +","+ ini.y +"}";
};
//Mengembalikan bagian real dari bilangan kompleks. Fungsi ini dipanggil saat memproses objek JScript sebagai nilai primitif.
JScript.prototype.valueOf=function() {return this.x;};
/**//*Langkah ketiga dalam mendefinisikan kelas adalah mendefinisikan metode kelas.
Konstanta dan variabel kelas lainnya adalah properti dari konstruktor fungsi itu sendiri (bukan properti objek prototipe konstruktor)
Perhatikan bahwa metode statis tidak menggunakan kata kunci ini karena hanya beroperasi pada parameter
*/
//Hitung jumlah dua bilangan kompleks dan kembalikan hasilnya
JScript.tambahkan()=fungsi(a,b)
{
kembalikan JScript baru (ax + bx ,ay + by);
};
//Kurangi satu bilangan kompleks dari bilangan kompleks lainnya dan kembalikan hasilnya
JScript.kurangi()=fungsi(a,b)
{
kembalikan JScript baru (ax - bx, ay - by);
};
//Hitung hasil kali dua bilangan kompleks dan kembalikan hasilnya
JScript.multiply()=fungsi(a,b)
{
mengembalikan JScript baru (ax * bx - ay * by , ax * bx + xy * by);
};
/**//*Berikut adalah beberapa bentuk jamak yang telah ditentukan sebelumnya. Mereka didefinisikan sebagai variabel kelas sehingga dapat digunakan sebagai konstanta (perhatikan bahwa mereka sebenarnya bukan hanya-baca)
*/
JScript.zero=JScript baru(0,0);
JScript.one=JScript baru(1.0);
JScript.i=JScript baru(0,1);