Definisi dan instantiasi kelas JavaScript

Takrifan kelas

Tegasnya, JavaScript ialah bahasa pengaturcaraan berasaskan objek, bukan bahasa pengaturcaraan berorientasikan objek.

Dalam bahasa pengaturcaraan berorientasikan objek (seperti Java, C++, C#, PHP, dll.), isytiharkan kelas menggunakan kata kunci kelas.

Contohnya: Orang kelas awam{}

Tetapi dalam JavaScript, tiada kata kunci untuk mengisytiharkan kelas dan tiada cara untuk mengawal hak akses kelas.

JavaScript menggunakan fungsi untuk mentakrifkan kelas.

Sintaks:
function className(){
// Operasi khusus
}


Contohnya, tentukan kelas Person:

function Person() {
    this.name=" 张三 ";  // 定义一个属性 name
    this.sex=" 男 ";  // 定义一个属性 sex
    this.say=function(){  // 定义一个方法 say()
        document.write("嗨!大家好,我的名字是 " + this.name + " ,性别是 " + this.sex + "。");
    }
}

Penjelasan: kata kunci ini merujuk kepada objek semasa.

Mencipta objek (instantiation of class)

Proses mencipta objek juga merupakan proses instantiation kelas.

Dalam JavaScript, mencipta objek (iaitu instantiasi kelas) menggunakan kata kunci baharu.

Sintaks:
new className();

Segera kelas Orang di atas:

var zhangsan=new Person();
zhangsan.say();

Jalankan kod dan keluarkan kandungan berikut:
Hai! Hello semua, nama saya Zhang San dan jantina saya adalah lelaki.

Anda boleh menetapkan parameter semasa mentakrifkan kelas, dan anda juga boleh menghantar parameter yang sepadan semasa mencipta objek.

Seterusnya, kami mentakrifkan semula kelas Orang:

function Person(name,sex) {
    this.name=name;  // 定义一个属性 name
    this.sex=sex;  // 定义一个属性 sex
    this.say=function(){  // 定义一个方法 say()
        document.write("嗨!大家好,我的名字是 " + this.name + " ,性别是 " + this.sex);
    }
}
var zhangsan=new Person("小丽","女");
zhangsan.say();

Jalankan kod dan output berikut akan menjadi output:
Hai! Hello semua, nama saya Xiaoli dan jantina saya perempuan.

Meneruskan pembelajaran
||
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <script>function Person(name,sex) { this.name=name; // 定义一个属性 name this.sex=sex; // 定义一个属性 sex this.say=function(){ // 定义一个方法 say() document.write("嗨!大家好,我的名字是 " + this.name + " ,性别是 " + this.sex); } } var zhangsan=new Person("小丽","女"); zhangsan.say();</script> </head> <body> </body> </html>
  • Cadangan kursus
  • Muat turun perisian kursus