Apakah kelemahan kaedah pembina javascript

WBOY
Lepaskan: 2022-09-30 16:40:55
asal
1255 orang telah melayarinya

Kelemahan pembina JavaScript ialah setiap kali objek diwujudkan, sifat dan kaedah akan disalin jika terdapat kaedah yang sama antara kejadian, walaupun sifat dan kaedah yang ditakrifkan dalam pembina boleh diakses; Walau bagaimanapun, setiap contoh disalin, yang akan menyebabkan pembaziran sumber sistem.

Apakah kelemahan kaedah pembina javascript

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi JavaScript 1.8.5, komputer Dell G3.

Apakah keburukan kaedah pembina JavaScript

Kelebihannya ialah objek itu boleh dikenal pasti melalui instanceof. Kelemahannya ialah setiap kali objek dijadikan instantiated, sifat dan kaedah akan disalin

function CreateObj(uName) {
              this.userName = uName;
              this.showUserName = function () {
              return this.userName;
            }
        }
  
var obj1 = new CreateObj('ghostwu');
var obj2 = new CreateObj('卫庄');
  
console.log( obj1.showUserName === obj2.showUserName ); //false
Salin selepas log masuk

Daripada hasil pelaksanaan di atas, kita dapat melihat bahawa obj1.showUserName dan obj.showUserName tidak sama [dalam js, jenis rujukan membandingkan alamat dan fungsi adalah jenis rujukan], tetapi terdapat dua alamat memori

Berbeza, kerana atribut setiap objek adalah berbeza, tidak ada masalah dengan ini, tetapi kaedah melaksanakan kod yang sama, jadi tidak perlu untuk menyalin, terdapat berbilang salinan, yang membazirkan ingatan Ini adalah kelemahan

Pengetahuan lanjutan

Pembina: Jika fungsi digunakan untuk. mulakan (menggunakan operator baharu) objek baharu, kami Memanggilnya sebagai pembina

function Person(){
    this.name = "zqq";
    this.age = 28;
}
var p = new Person();
Salin selepas log masuk

Apabila pembina dipanggil dengan baharu (melaksanakan var p = new Person()), perkara berikut berlaku di dalam fungsi:

1. Cipta objek kosong

var p = {};
Salin selepas log masuk

2 pembolehubah ini menghala ke objek p

Person.call(p)
Salin selepas log masuk

3.p mewarisi prototaip Person( )

p.__proto__ = Person.prototype
Salin selepas log masuk

4. Jalankan kod dalam pembina Person()

Perbezaan antara pembina dan fungsi biasa:

1 . Pembina dipanggil menggunakan kata kunci baru, bukan panggilan kata kunci baru; , kerana pada masa ini ini menunjuk ke objek global tetingkap, yang secara tidak sengaja akan menyebabkan tetingkap menambah beberapa pembolehubah atau fungsi global

var p = new Person();
var p = Person();
Salin selepas log masuk
Di dalam pembina, ini menunjukkan kepada objek baharu yang dibina

Di dalam biasa fungsi, ini menunjukkan kepada objek global tetingkap

3. Pembina tidak perlu mengembalikan nilai pulangan secara lalai; , iaitu objek contoh baharu

Jika fungsi biasa tidak mempunyai nilai pulangan, pulangkan tidak ditentukan

Jika pulangan digunakan, nilai pulangan akan berbeza mengikut jenis nilai pulangan

[Cadangan berkaitan:

tutorial video javascript

,

bahagian hadapan web

Atas ialah kandungan terperinci Apakah kelemahan kaedah pembina javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!