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.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi JavaScript 1.8.5, komputer Dell G3.
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
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();
Apabila pembina dipanggil dengan baharu (melaksanakan var p = new Person()), perkara berikut berlaku di dalam fungsi:
1. Cipta objek kosong
var p = {};
2 pembolehubah ini menghala ke objek p
Person.call(p)
3.p mewarisi prototaip Person( )
p.__proto__ = Person.prototype
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();
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!