Contoh dalam artikel ini menerangkan penggunaan mod prototaip JavaScript. Kongsikan dengan semua orang untuk rujukan anda. Analisis khusus adalah seperti berikut:
Secara amnya selepas memahami keburukan corak kilang dan corak pembina, anda akan tahu mengapa corak prototaip diperlukan
Definisi corak prototaip i: Setiap fungsi mempunyai atribut prototaip, iaitu objek yang tujuannya mengandungi sifat dan kaedah yang boleh dikongsi oleh semua kejadian jenis tertentu. Sebagai contoh, dalam kaedah sayInformation() dalam model pembina, jika dua kejadian diisytiharkan, kaedah sayInformation mesti dibina dua kali, tetapi tidak perlu mengisytiharkannya dua kali Inilah sebabnya corak prototaip muncul (Nima, blog tersebut di Internet semua ada Adakah karut, atau mudah difahami apabila membaca buku), selepas sayInformation() diisytiharkan sebagai mod prototaip, contoh itu dikongsi, dan tidak perlu mengisytiharkannya dua kali
function Person(){} Person.prototype.name="jack"; Person.prototype.age=10; Person.prototype.sayInformation=function() { console.log("my name is"+this.name+" age is"+this.age); } var person1 = new Person(); person1.sayInformation(); console.info(person1.name); //来自原型的属性name person1.name="Greg"; //修改实例的name属性 console.info(person1.name); //来自实例的属性name delete person1.name ; //来自实例的属性,这里删除的是实例的属性,但是原型的属性依然存在 console.info(person1.name); //来自原型的属性name var person2 = new Person(); person2.sayInformation(); console.info(person1.hasOwnProperty("name")); //hasOwnProperty检查属性是属于实例还是原型中,如果是实例中就返回true console.info(person1.name==person2.name); console.info(person1.sayInformation==person2.sayInformation); console.info(person1.constructor); //指向person1的构造函数 //原型更加简便的写法 function Person2(){} Person2.prototype={ name:"jack", age:29, sayInformationfunction:function() { console.log("my name is"+this.name+" age is"+this.age); } }
Saya harap artikel ini akan membantu reka bentuk pengaturcaraan JavaScript semua orang.