Rumah > hujung hadapan web > tutorial js > Penjelasan terperinci tentang contoh penggunaan corak prototaip javascript_kemahiran javascript

Penjelasan terperinci tentang contoh penggunaan corak prototaip javascript_kemahiran javascript

WBOY
Lepaskan: 2016-05-16 15:56:38
asal
1188 orang telah melayarinya

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);
    }
}
Salin selepas log masuk

Saya harap artikel ini akan membantu reka bentuk pengaturcaraan JavaScript semua orang.

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