Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Apakah yang perlu saya lakukan jika kaedah kelas javascript tidak dilaksanakan?

Apakah yang perlu saya lakukan jika kaedah kelas javascript tidak dilaksanakan?

PHPz
PHPzasal
2023-04-25 10:31:57870semak imbas

JavaScript ialah bahasa pengaturcaraan berorientasikan objek dan menyokong kelas dan kaedah berkaitan kelas. Oleh itu, apabila anda menulis kod JavaScript, anda akan sering menghadapi pelbagai jenis masalah. Salah satu masalah biasa ialah kaedah kelas tidak dilaksanakan.

Apabila anda menulis kaedah kelas JavaScript, anda perlu memastikan bahawa anda telah mentakrifkan pembina kelas dan contoh kelas dengan betul. Jika tidak, anda mungkin menghadapi masalah dengan kaedah kelas yang tidak dilaksanakan. Dalam artikel ini, kami akan meneroka beberapa sebab biasa mengapa kaedah kelas tidak dilaksanakan dan penyelesaiannya.

  1. Sifat objek tidak ditetapkan dengan betul semasa mentakrifkan pembina kelas

Dalam JavaScript, pembina kelas ialah proses mencipta objek baharu. Oleh itu, apabila anda mentakrifkan kelas, anda mesti memastikan bahawa pembina anda menetapkan sifat objek dengan betul, jika tidak kaedah anda mungkin tidak dilaksanakan dengan betul. Sebagai contoh, kod berikut mentakrifkan kelas tetapi tidak menetapkan 'teks' sifat objek dengan betul:

class Message {
  constructor() {
    // 没有设置对象属性 'text'
  }

  showText() {
    console.log(this.text);
  }
}

let message = new Message();
message.showText(); // 无法执行:'this.text' 为undefined

Kod di atas akan menyebabkan ralat kerana sifat 'teks' tidak ditetapkan dalam pembina, Akibatnya, penciptaan objek tidak berjaya, jadi sifat 'teks' tidak boleh diakses apabila kaedah 'showText()' dilaksanakan. Untuk menyelesaikan masalah ini, anda perlu menetapkan sifat dengan betul dalam pembina:

class Message {
  constructor(text) {
    this.text = text;
  }

  showText() {
    console.log(this.text);
  }
}

let message = new Message('Hello, World!');
message.showText(); // 输出: 'Hello, World!'
  1. Instance kelas tidak dibuat dengan betul

Satu lagi sebab biasa adalah untuk mencipta kelas Cara contoh dilakukan adalah tidak betul. Anda harus menggunakan kata kunci 'baru' untuk mencipta contoh baharu kelas. Jika anda terlupa menggunakan 'baru', objek baharu tidak akan dibuat dan kaedah objek tidak akan dilaksanakan. Contohnya:

class Person {
  constructor(name) {
    this.name = name;
  }

  sayHello() {
    console.log('Hello, my name is ' + this.name);
  }
}

let person = Person('John'); // 忘记使用 'new' 关键字
person.sayHello(); // 无法执行:'person' 不是一个对象

Pastikan anda menggunakan kata kunci 'baharu' untuk mencipta tika kelas, jika tidak kaedah kelas tidak akan dilaksanakan. Contohnya:

class Person {
  constructor(name) {
    this.name = name;
  }

  sayHello() {
    console.log('Hello, my name is ' + this.name);
  }
}

let person = new Person('John'); // 正确创建类的实例
person.sayHello(); // 输出: 'Hello, my name is John'
  1. Kaedah yang diisytiharkan dengan nama yang salah

Apabila anda mentakrifkan kaedah kelas, anda harus memastikan bahawa nama kaedah tidak dieja dengan betul . Jika nama kaedah tersalah eja, kaedah itu tidak akan berjaya ditakrifkan dalam kelas dan tidak boleh dipanggil. Contohnya:

class Person {
  constructor(name) {
    this.name = name;
  }

  sayHello() {
    console.log('Hello, my name is' + this.name);
  }

  spesak() {
    console.log('I am speaking.'); // 拼写错误,应该是 'speak'
  }
}

let person = new Person('John'); 
person.speak(); // 无法执行:拼写错误的方法名称

Untuk menyelesaikan masalah ini, anda perlu menyemak semula kod anda untuk kesilapan menaip dan membetulkannya.

Kesimpulan

Merupakan masalah biasa yang kaedah kelas tidak dilaksanakan, biasanya kerana sifat objek tidak ditetapkan dengan betul dalam pembina kelas, contoh kelas tidak dicipta dengan betul atau kaedah nama dieja dengan salah. Masalah ini boleh diselesaikan dengan menyemak kod dengan teliti untuk memastikan kelas dan kejadiannya dibuat dengan betul, cara kelas ditakrifkan.

Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika kaedah kelas javascript tidak dilaksanakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn