Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah pengendali baharu berfungsi dalam js?

Bagaimanakah pengendali baharu berfungsi dalam js?

王林
王林asal
2024-02-19 11:17:051134semak imbas

Bagaimanakah pengendali baharu berfungsi dalam js?

Bagaimanakah operator baharu dalam js berfungsi Contoh kod khusus diperlukan

Operator baharu dalam js ialah kata kunci yang digunakan untuk mencipta objek. Fungsinya adalah untuk mencipta objek contoh baharu berdasarkan pembina yang ditentukan dan mengembalikan rujukan kepada objek. Apabila menggunakan operator baharu, langkah berikut sebenarnya dilakukan:

  1. Cipta objek kosong baharu
  2. Halakan prototaip objek kosong ke objek prototaip pembina
  3. Berikan skop pembina Beri yang baharu; objek (jadi ini menunjuk ke objek baharu
  4. Laksanakan kod dalam pembina dan tambahkan sifat dan kaedah kepada objek baharu
  5. Jika pembina mengembalikan objek, kembalikan objek itu;

Berikut ialah contoh mudah untuk menggambarkan cara pengendali baharu berfungsi:

// 定义一个构造函数
function Person(name, age) {
  this.name = name;
  this.age = age;
}

// 使用new操作符创建一个实例对象
var person1 = new Person('Tom', 18);

// 输出实例对象的属性值
console.log(person1.name);  // 输出 'Tom'
console.log(person1.age);   // 输出 18

Dalam kod di atas, kami mentakrifkan pembina bernama Person. Pembina menerima dua parameter, nama dan umur, dan menggunakannya sebagai atribut orang objek contoh1.

Apabila menggunakan operator baharu untuk mencipta contoh person1, objek kosong mula-mula dibuat, dan kemudian prototaip objek kosong dihalakan ke objek prototaip Orang pembina. Seterusnya, skop pembina diberikan kepada objek kosong, supaya objek kosong boleh diakses melalui ini di dalam pembina. Akhirnya, kod dalam pembina dilaksanakan dan nama dan umur diberikan kepada sifat objek baharu.

Oleh itu, objek person1 yang dicipta melalui operator baharu mempunyai nama atribut dan umur yang ditakrifkan dalam Person pembina, dan atribut ini boleh diakses melalui operator titik.

Perlu diingat bahawa jangan kembalikan objek secara eksplisit di dalam pembina. Jika pembina mengembalikan objek, contoh yang dibuat oleh operator baharu akan menjadi objek yang dikembalikan, bukan objek yang baru dibuat. Contohnya:

// 定义一个构造函数
function Person(name, age) {
  this.name = name;
  this.age = age;

  // 错误示例:返回一个对象
  return {
    name: 'Error',
    age: -1
  };
}

// 使用new操作符创建一个实例对象
var person1 = new Person('Tom', 18);

// 此时person1实际上是一个普通的对象,而不是Person的实例
console.log(person1 instanceof Person);  // 输出 false
console.log(person1.name);  // 输出 'Error'
console.log(person1.age);   // 输出 -1

Dalam contoh di atas, Orang pembina secara eksplisit mengembalikan objek, jadi person1 sebenarnya bukan contoh Orang, tetapi objek biasa.

Ringkasnya, pengendali baharu digunakan untuk mencipta objek contoh baharu dan memulakan sifat objek dalam pembina. Objek contoh yang dibuat melalui operator baharu mewarisi objek prototaip pembina dan boleh mengakses sifat dan kaedah yang ditakrifkan dalam pembina.

Atas ialah kandungan terperinci Bagaimanakah pengendali baharu berfungsi dalam js?. 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